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

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

 System information as of Sat Aug 22 23:09:34 UTC 2026

  System load:  0.54               Processes:             108
  Usage of /:   20.6% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.119
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

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


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


[?2004h[jenkins@releng-51161-104-1-docker-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-08-22T23:09:56.646556" elapsed="0.451285"/>
</kw>
<msg time="2026-08-22T23:09:57.097916" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:09:56.646184" elapsed="0.451810"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-08-22T23:09:56.644440" elapsed="0.453658"/>
</kw>
<msg time="2026-08-22T23:09:57.098151" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:09:56.643948" elapsed="0.454254"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-08-22T23:09:56.643385" elapsed="0.454901"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-08-22T23:09:57.098358" elapsed="0.000047"/>
</return>
<msg time="2026-08-22T23:09:57.098564" level="INFO">${netopeer_conn_id} = 1</msg>
<var>${netopeer_conn_id}</var>
<doc>Open a connection to the tools system at ${ip_address} and return its identifier.</doc>
<status status="PASS" start="2026-08-22T23:09:56.642188" elapsed="0.456404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:09:57.099146" level="INFO">${netopeer_conn_id} = 1</msg>
<arg>${netopeer_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:09:57.098754" elapsed="0.000436"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-22T23:09:57.101927" level="INFO">sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</msg>
<arg>sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-08-22T23:09:57.099357" elapsed="0.002629"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-08-22T23:09:57.838528" level="INFO">[?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 8053k  100 8053k    0     0  11.1M      0 --:--:-- --:--:-- --:--:-- 11.1M
[?2004h[jenkins@releng-51161-104-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-08-22T23:09:57.103051" elapsed="0.735639"/>
</kw>
<msg time="2026-08-22T23:09:57.838860" level="INFO">${output} = [?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     ...</msg>
<var>${output}</var>
<arg>30s</arg>
<arg>2s</arg>
<arg>SSHLibrary.Read_Until_Prompt</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-08-22T23:09:57.102596" elapsed="0.736296"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:09:57.839428" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-08-22T23:09:57.862495" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:09:57.862779" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:09:57.862880" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:09:57.862978" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>sudo chmod +x /usr/local/bin/docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:09:57.839134" elapsed="0.023895"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-08-22T23:09:56.638717" elapsed="1.224497"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:09:57.864779" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-08-22T23:10:05.619008" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:10:05.619510" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
399fb1102f3f: Pulling fs layer
d51af753c3d3: Pulling fs layer
fc878cd0a91c: Pulling fs layer
6154df8ff988: Pulling fs layer
fee5db0ff82f: Pulling fs laye...</msg>
<msg time="2026-08-22T23:10:05.619645" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:10:05.619743" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker pull sysrepo/sysrepo-netopeer2:latest</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:09:57.864390" elapsed="7.755405"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.620774" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-08-22T23:10:05.731283" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:10:05.731611" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-08-22T23:10:05.731717" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:10:05.731806" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker images</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:05.620272" elapsed="0.111584"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-08-22T23:09:57.863833" elapsed="7.868214"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.775976" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-08-22T23:10:05.784862" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml' -&gt; '/home/jenkins//docker-compose.yaml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:10:05.732388" elapsed="0.052559"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.792405" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh' -&gt; '/home/jenkins//init_configuration.sh'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:10:05.785158" elapsed="0.007330"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.792955" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.171.114/g' docker-compose.yaml'.</msg>
<msg time="2026-08-22T23:10:05.805017" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/ODL_SYSTEM_IP/${ODL_SYSTEM_IP}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:05.792739" elapsed="0.012410"/>
</kw>
<kw name="Set_Variable_If_At_Least_Sulfur" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-22T23:10:05.829288" elapsed="0.000493"/>
</kw>
<msg time="2026-08-22T23:10:05.829835" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:10:05.828942" elapsed="0.000959"/>
</kw>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return 4334 if titanium is at least ${lower_bound},
return 6666 otherwise.</doc>
<status status="PASS" start="2026-08-22T23:10:05.828604" elapsed="0.001377"/>
</kw>
<msg time="2026-08-22T23:10:05.830024" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:10:05.819147" elapsed="0.010920"/>
</kw>
<msg time="2026-08-22T23:10:05.830176" level="INFO">${netconf_cl_ssh_port} = 4334</msg>
<var>${netconf_cl_ssh_port}</var>
<arg>4334</arg>
<arg>6666</arg>
<doc>Compare sulfur to titanium and return ${value_if_true} if titanium is at least sulfur, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-22T23:10:05.818740" elapsed="0.011461"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.830490" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-08-22T23:10:05.854023" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_SSH/${netconf_cl_ssh_port}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:05.830335" elapsed="0.023824"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.854769" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-08-22T23:10:05.902490" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:05.854512" elapsed="0.048136"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-22T23:10:05.922015" elapsed="0.000446"/>
</kw>
<msg time="2026-08-22T23:10:05.922512" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:10:05.921678" elapsed="0.000911"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return "connection-status":"connected" if titanium is at least ${lower_bound},
return "netconf-node-topology:connection-status":"connected" otherwise.</doc>
<status status="PASS" start="2026-08-22T23:10:05.921364" elapsed="0.001303"/>
</kw>
<msg time="2026-08-22T23:10:05.922771" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:10:05.914479" elapsed="0.008337"/>
</kw>
<msg time="2026-08-22T23:10:05.922920" level="INFO">${substring1} = "connection-status":"connected"</msg>
<var>${substring1}</var>
<arg>"connection-status":"connected"</arg>
<arg>"netconf-node-topology:connection-status":"connected"</arg>
<doc>Compare scandium to titanium and return ${value_if_true} if titanium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-22T23:10:05.914214" elapsed="0.008731"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.923369" level="INFO">${substring2} = "node-id":"netopeer2"</msg>
<var>${substring2}</var>
<arg>"node-id":"netopeer2"</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-08-22T23:10:05.923096" elapsed="0.000300"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-22T23:10:05.937790" elapsed="0.000449"/>
</kw>
<msg time="2026-08-22T23:10:05.938318" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:10:05.937430" elapsed="0.000952"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return "available-capabilities" if titanium is at least ${lower_bound},
return "netconf-node-topology:available-capabilities" otherwise.</doc>
<status status="PASS" start="2026-08-22T23:10:05.937101" elapsed="0.001358"/>
</kw>
<msg time="2026-08-22T23:10:05.938514" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-08-22T23:10:05.930192" elapsed="0.008365"/>
</kw>
<msg time="2026-08-22T23:10:05.938661" level="INFO">${substring3} = "available-capabilities"</msg>
<var>${substring3}</var>
<arg>"available-capabilities"</arg>
<arg>"netconf-node-topology:available-capabilities"</arg>
<doc>Compare scandium to titanium and return ${value_if_true} if titanium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-22T23:10:05.929949" elapsed="0.008737"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.939188" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<var>${netconf_mount_expected_values}</var>
<arg>${substring1}</arg>
<arg>${substring2}</arg>
<arg>${substring3}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:05.938829" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.939713" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.939381" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.943035" level="INFO">${CREATE_GLOBAL_CREDENTIALS_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</msg>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.939898" elapsed="0.003184"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.946672" level="INFO">${CREATE_SSH_DEVICE_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.943234" elapsed="0.003485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.949744" level="INFO">${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.946870" elapsed="0.002919"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.953475" level="INFO">${CREATE_TLS_DEVICE_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</msg>
<arg>${CREATE_TLS_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.949943" elapsed="0.003578"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.956999" level="INFO">${ADD_KEYSTORE_ENTRY_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</msg>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.953670" elapsed="0.003373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.960836" level="INFO">${ADD_PRIVATE_KEY_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</msg>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.957193" elapsed="0.003688"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:05.964418" level="INFO">${ADD_TRUSTED_CERTIFICATE} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</msg>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:05.961069" elapsed="0.003395"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:05.964696" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:10:06.149050" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:05.964599" elapsed="0.184635"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:06.149912" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-08-22T23:10:06.202589" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:10:06.203004" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsa...</msg>
<var>${incorrect_public_key}</var>
<arg>awk '{print $2}' incorrect_ssh_host_rsa_key.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:06.149649" elapsed="0.053423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:06.212540" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsa...</msg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>${incorrect_public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-22T23:10:06.203647" elapsed="0.009005"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-08-22T23:09:56.638398" elapsed="9.574407"/>
</kw>
<test id="s1-s1-t1" name="CallHome over SSH with correct device credentials" line="17">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:06.215313" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cef86950&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:10:06.215014" elapsed="0.000545"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:06.215812" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:10:06.254170" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:06.215709" elapsed="0.038594"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:06.254898" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:10:06.686139" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:06.254665" elapsed="0.431731"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:06.687127" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:10:06.738613" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:10:06.738864" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:06.686832" elapsed="0.052093"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:06.746999" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:10:06.739302" elapsed="0.007765"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:10:06.214715" elapsed="0.532447"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:10:06.786982" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:10:06.747847" elapsed="0.039312"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:10:06.795044" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:10:06.787532" elapsed="0.007653"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-22T23:10:06.747455" elapsed="0.047928"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:10:06.803641" elapsed="0.000122"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:06.797070" elapsed="0.006737"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:10:06.804715" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:10:06.804958" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:10:06.804484" elapsed="0.000515"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:10:06.805866" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:10:06.805239" elapsed="0.000689"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:06.804071" elapsed="0.001935"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:06.803855" elapsed="0.002186"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:06.796996" elapsed="0.009079"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:10:06.806659" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:10:06.806266" elapsed="0.000432"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:10:06.807258" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:10:06.806900" elapsed="0.000398"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:10:06.807864" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:10:06.807522" elapsed="0.000383"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:10:06.808476" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:10:06.808118" elapsed="0.000396"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:07.588597" level="INFO">POST Request : url=http://10.30.171.114: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:10:07.588814" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:10:07 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:07.589093" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:06.808714" elapsed="0.780442"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:07.589608" elapsed="0.004461"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:10:06.796077" elapsed="0.798090"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:10:07.594696" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-22T23:10:07.881493" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:10:07.881912" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:10:07.882018" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:10:07.882117" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:10:07.594429" elapsed="0.287740"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:07.885920" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:07.885064" 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-08-22T23:10:07.886902" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:07.886288" elapsed="0.000743"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:07.886228" elapsed="0.000920"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:07.934379" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:07.936299" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:07.936652" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:07.896818" elapsed="0.039908"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:07.937799" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:07.936969" elapsed="0.000971"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:07.943400" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:07.938302" elapsed="0.005218"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:07.938003" elapsed="0.005596"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:07.936899" elapsed="0.006761"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:07.943987" elapsed="0.000551"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:07.945432" elapsed="0.003681"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:07.945085" elapsed="0.004069"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:07.951645" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:07.949415" elapsed="0.002408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:07.949275" elapsed="0.002634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:07.944698" elapsed="0.007290">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:07.896187" elapsed="0.055923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:07.884230" elapsed="0.068036">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:09.955493" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:09.954447" 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-08-22T23:10:09.956490" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:09.955780" elapsed="0.000854"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:09.955725" elapsed="0.000971"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:09.977690" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:09.977948" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:09.978134" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:09.967961" elapsed="0.010221"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:09.978824" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:09.978365" elapsed="0.000549"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:09.982324" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:09.979181" elapsed="0.003278"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:09.978955" elapsed="0.003558"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:09.978309" elapsed="0.004238"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:09.982725" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:09.983550" elapsed="0.003326"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:09.983301" elapsed="0.003618"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:09.989448" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:09.987136" elapsed="0.002435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:09.987015" elapsed="0.002652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:09.983066" elapsed="0.006752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:09.967495" elapsed="0.022439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:09.953330" elapsed="0.036705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:11.993876" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:11.992872" elapsed="0.001076"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:11.994750" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:11.994148" elapsed="0.000733"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:11.994096" elapsed="0.000840"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:12.015144" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:12.015546" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:12.015794" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:12.005707" elapsed="0.010145"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:12.016740" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:12.016035" elapsed="0.000831"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:12.022120" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:12.017191" elapsed="0.005081"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:12.016920" elapsed="0.005438"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:12.015988" elapsed="0.006450"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:12.022730" 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-08-22T23:10:12.023880" elapsed="0.003846"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:12.023609" elapsed="0.004157"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:12.030147" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:12.027972" elapsed="0.002342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:12.027853" elapsed="0.002553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:12.023260" elapsed="0.007211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:12.005081" elapsed="0.025503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:11.991743" elapsed="0.038938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:14.033669" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:14.032738" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:14.034533" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:14.033937" elapsed="0.000727"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:14.033882" elapsed="0.000838"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:14.053304" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:14.053560" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:14.053709" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:14.044847" elapsed="0.008899"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:14.054286" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:14.053862" elapsed="0.000527"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:14.057557" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:14.054603" elapsed="0.003091"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:14.054426" elapsed="0.003317"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:14.053832" elapsed="0.003941"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:14.057948" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:14.058671" elapsed="0.003027"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:14.058497" elapsed="0.003242"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:14.064118" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:14.061955" elapsed="0.002258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:14.061832" elapsed="0.002457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:14.058272" elapsed="0.006085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:14.044198" elapsed="0.020300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:14.031793" elapsed="0.032814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:16.067579" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:16.066637" 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-08-22T23:10:16.068434" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:16.067837" elapsed="0.000727"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:16.067788" elapsed="0.000831"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:16.087402" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:16.087574" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:16.087755" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:16.078272" elapsed="0.009520"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:16.088767" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:16.088017" elapsed="0.000889"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:16.094446" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:16.089263" elapsed="0.005309"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:16.088966" elapsed="0.005688"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:16.087967" elapsed="0.006744"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:16.095014" elapsed="0.000412"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:16.096133" elapsed="0.003723"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:16.095869" elapsed="0.004027"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:16.102260" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:16.100104" elapsed="0.002268">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:16.099986" elapsed="0.002463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:16.095559" elapsed="0.006952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:16.077821" elapsed="0.024795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:16.065684" elapsed="0.037027">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:18.105873" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:18.104836" elapsed="0.001122"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:18.106786" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:18.106153" elapsed="0.000883"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:18.106104" elapsed="0.000998"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:18.128073" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:18.128306" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:18.128517" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:18.119426" elapsed="0.009129"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:18.129148" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:18.128681" elapsed="0.000558"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:18.132528" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:18.129496" elapsed="0.003106"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:18.129276" elapsed="0.003373"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:18.128649" elapsed="0.004031"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:18.132853" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:18.133613" elapsed="0.002530"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:18.133435" elapsed="0.002755"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:18.138595" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:18.136413" elapsed="0.002273">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:18.136276" elapsed="0.002483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:18.133206" elapsed="0.005616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:18.118976" elapsed="0.019953">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:18.103856" elapsed="0.035234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:20.142080" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:20.141105" elapsed="0.001049"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:20.142958" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:20.142383" elapsed="0.000707"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:20.142299" elapsed="0.000849"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:20.163244" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:20.163613" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:20.163855" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:20.153298" elapsed="0.010620"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:20.164940" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:20.164102" elapsed="0.000981"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:20.170184" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:20.165485" elapsed="0.004816"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:20.165139" elapsed="0.005285"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:20.164055" elapsed="0.006418"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:20.170755" elapsed="0.000379"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:20.171878" elapsed="0.003444"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:20.171607" elapsed="0.003774"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:20.177748" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:20.175587" elapsed="0.002249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:20.175465" elapsed="0.002447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:20.171263" elapsed="0.006760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:20.152867" elapsed="0.025261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:20.140084" elapsed="0.038140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:22.181019" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:22.180099" elapsed="0.000991"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:22.181881" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:22.181280" elapsed="0.000732"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:22.181232" elapsed="0.000836"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:22.203009" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:22.203175" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:22.203275" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:22.193450" elapsed="0.009851"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:22.203702" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:22.203404" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:22.208715" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:22.204040" elapsed="0.004791"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:22.203785" elapsed="0.005123"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:22.203384" elapsed="0.005571"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:22.209227" elapsed="0.000415"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:22.210391" elapsed="0.002986"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:22.210093" elapsed="0.003325"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:22.215770" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:22.213624" elapsed="0.002297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:22.213501" elapsed="0.002498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:22.209782" elapsed="0.006277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:22.192834" elapsed="0.023330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:22.179160" elapsed="0.037103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:24.219153" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:24.218235" elapsed="0.000990"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:24.220065" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:24.219480" elapsed="0.000714"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:24.219430" elapsed="0.000819"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:24.241521" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:24.241690" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:24.241800" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:24.232459" elapsed="0.009374"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:24.242641" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:24.241953" elapsed="0.000816"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:24.247805" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:24.243095" elapsed="0.004910"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:24.242823" elapsed="0.005259"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:24.241907" elapsed="0.006222"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:24.248438" 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-08-22T23:10:24.249535" elapsed="0.003446"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:24.249232" elapsed="0.003790"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:24.255382" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:24.253224" elapsed="0.002239">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:24.253105" elapsed="0.002431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:24.248944" elapsed="0.006672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:24.232011" elapsed="0.023712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:24.217258" elapsed="0.038562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:26.257995" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:26.257336" elapsed="0.000707"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:26.258600" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:26.258178" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:26.258143" elapsed="0.000591"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:26.280933" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:26.281164" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:26.281405" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:26.270405" 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-08-22T23:10:26.281987" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:26.281563" elapsed="0.000504"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:26.285965" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:26.282299" elapsed="0.003749"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:26.282106" elapsed="0.003996"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:26.281533" elapsed="0.004608"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:26.286363" elapsed="0.000272"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:26.287126" elapsed="0.003333"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:26.286937" elapsed="0.003586"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:26.294459" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:26.290852" elapsed="0.003733">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:26.290658" elapsed="0.004045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:26.286723" elapsed="0.008086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:26.269722" elapsed="0.025279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:26.256600" elapsed="0.038573">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:28.298040" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:28.297070" elapsed="0.001039"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:28.298878" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:28.298291" elapsed="0.000802"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:28.298245" elapsed="0.000909"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:28.318321" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:28.318510" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:28.318609" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:28.308904" elapsed="0.009731"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:28.319070" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:28.318713" elapsed="0.000478"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:28.324193" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:28.319561" elapsed="0.004747"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:28.319245" elapsed="0.005169"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:28.318694" elapsed="0.005770"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:28.324736" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:28.325809" elapsed="0.003936"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:28.325548" elapsed="0.004237"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:28.332158" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:28.329992" elapsed="0.002249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:28.329868" elapsed="0.002448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:28.325229" elapsed="0.007169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:28.308482" elapsed="0.024024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:28.296137" elapsed="0.036497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:30.335563" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:30.334635" elapsed="0.001001"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:30.336413" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:30.335825" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:30.335777" elapsed="0.000824"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:30.356372" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:30.356540" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:30.356650" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:30.347606" elapsed="0.009069"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:30.357098" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:30.356754" elapsed="0.000423"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:30.360272" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:30.357424" elapsed="0.002940"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:30.357211" elapsed="0.003202"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:30.356735" elapsed="0.003708"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:30.360613" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:30.361279" elapsed="0.002991"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:30.361115" elapsed="0.003212"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:30.367215" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:30.364643" elapsed="0.002651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:30.364476" elapsed="0.002908">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:30.360928" elapsed="0.006589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:30.347158" elapsed="0.020466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:30.333687" elapsed="0.034033">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:32.370586" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:32.369667" elapsed="0.000989"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:32.371430" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:32.370846" elapsed="0.000715"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:32.370798" elapsed="0.000818"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:32.390575" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:32.390792" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:32.390928" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:32.381741" elapsed="0.009222"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:32.391495" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:32.391073" elapsed="0.000501"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:32.394668" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:32.391780" elapsed="0.002962"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:32.391607" elapsed="0.003183"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:32.391046" elapsed="0.003775"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:32.394993" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:32.395682" elapsed="0.003232"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:32.395515" elapsed="0.003456"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:32.402232" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:32.399257" elapsed="0.003132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:32.399087" elapsed="0.003378">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:32.395307" elapsed="0.007219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:32.381306" elapsed="0.021322">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:32.368686" elapsed="0.034039">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:34.405668" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:34.404720" elapsed="0.001020"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:34.406559" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:34.405932" elapsed="0.000770"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:34.405884" elapsed="0.000874"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:34.426911" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:34.427194" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:34.427466" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:34.416410" elapsed="0.011121"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:34.428407" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:34.427734" elapsed="0.000802"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:34.433665" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:34.428881" elapsed="0.004994"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:34.428590" elapsed="0.005364"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:34.427688" elapsed="0.006314"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:34.434301" elapsed="0.000420"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:34.435493" elapsed="0.002482"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:34.435193" elapsed="0.002822"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:34.440453" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:34.438221" elapsed="0.002315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:34.438104" elapsed="0.002507">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:34.434846" elapsed="0.005827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:34.415943" elapsed="0.024844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:34.403707" elapsed="0.037178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:36.443699" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:36.442778" elapsed="0.000991"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:36.444579" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:36.443992" elapsed="0.000719"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:36.443941" elapsed="0.000824"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:36.464937" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:36.465096" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:36.465261" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:36.455847" elapsed="0.009442"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:36.465681" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:36.465391" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:36.467969" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:36.465885" elapsed="0.002137"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:36.465763" elapsed="0.002293"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:36.465370" elapsed="0.002708"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:36.468203" elapsed="0.000193"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:36.468706" elapsed="0.002873"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:36.468585" elapsed="0.003052"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:36.474956" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:36.471942" elapsed="0.003119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:36.471751" elapsed="0.003412">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:36.468453" elapsed="0.006796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:36.455240" elapsed="0.020173">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:36.441811" elapsed="0.033740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:38.478382" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:38.477460" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:38.479203" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:38.478646" elapsed="0.000816"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:38.478597" elapsed="0.000929"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:38.496566" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:38.496794" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:38.496942" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:38.488670" elapsed="0.008311"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:38.497585" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:38.497104" elapsed="0.000568"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:38.501001" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:38.497892" elapsed="0.003188"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:38.497708" elapsed="0.003422"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:38.497074" elapsed="0.004087"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:38.501363" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:38.502082" elapsed="0.003505"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:38.501901" elapsed="0.003748"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:38.509662" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:38.505945" elapsed="0.003806">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:38.505770" elapsed="0.004061">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:38.501703" elapsed="0.008194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:38.488215" elapsed="0.021794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:38.476523" elapsed="0.033667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:40.513121" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:40.512151" elapsed="0.001041"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:40.513975" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:40.513414" elapsed="0.000691"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:40.513334" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:40.534616" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:40.534782" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:40.534879" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:40.525618" elapsed="0.009328"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:40.535358" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:40.535028" elapsed="0.000389"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:40.537646" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:40.535565" elapsed="0.002133"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:40.535441" elapsed="0.002292"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:40.535009" elapsed="0.002745"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:40.537878" elapsed="0.000180"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:40.538388" elapsed="0.002432"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:40.538251" elapsed="0.002625"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:40.544175" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:40.541157" elapsed="0.003125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:40.540991" elapsed="0.003416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:40.538116" elapsed="0.006500">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:40.525014" elapsed="0.019754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:40.511150" elapsed="0.033753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:42.547729" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:42.546803" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:42.548587" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:42.547991" elapsed="0.000727"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:42.547943" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:42.566734" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:42.566895" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:42.567003" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:42.558742" elapsed="0.008289"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:42.567561" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:42.567111" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:42.570726" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:42.567848" elapsed="0.002951"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:42.567674" elapsed="0.003172"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:42.567090" elapsed="0.003786"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:42.571046" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:42.571744" elapsed="0.002993"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:42.571570" elapsed="0.003223"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:42.578115" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:42.575077" elapsed="0.003234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:42.574914" elapsed="0.003497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:42.571384" elapsed="0.007088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:42.558302" elapsed="0.020274">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:42.545852" elapsed="0.032820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:44.581539" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:44.580609" elapsed="0.000999"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:44.582368" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:44.581790" elapsed="0.000709"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:44.581744" elapsed="0.000811"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:44.604331" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:44.604685" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:44.604900" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:44.595791" elapsed="0.009166"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:44.605803" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:44.605129" elapsed="0.000798"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:44.611283" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:44.606247" elapsed="0.005309"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:44.605980" elapsed="0.005657"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:44.605087" elapsed="0.006600"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:44.611962" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:44.613037" elapsed="0.003903"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:44.612776" elapsed="0.004204"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:44.619325" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:44.617182" elapsed="0.002238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:44.617063" elapsed="0.002454">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:44.612488" elapsed="0.007093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:44.595119" elapsed="0.024566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:44.579665" elapsed="0.040118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:46.622825" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:46.621888" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:46.623687" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:46.623085" elapsed="0.000735"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:46.623036" elapsed="0.000840"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:46.643295" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:46.643569" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:46.643786" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:46.634818" elapsed="0.009006"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:46.644393" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:46.643936" elapsed="0.000565"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:46.647716" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:46.644736" elapsed="0.003060"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:46.644541" elapsed="0.003304"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:46.643909" elapsed="0.003970"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:46.648064" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:46.648830" elapsed="0.003039"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:46.648653" elapsed="0.003274"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:46.654741" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:46.652213" elapsed="0.002613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:46.652046" elapsed="0.002856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:46.648429" elapsed="0.006535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:46.634391" elapsed="0.020679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:46.620794" elapsed="0.034372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:48.658297" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:48.657194" elapsed="0.001214"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:48.659221" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:48.658621" elapsed="0.000871"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:48.658566" elapsed="0.001005"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:48.679861" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:48.680122" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:48.680298" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:48.670459" elapsed="0.009903"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:48.681117" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:48.680501" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:48.684964" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:48.681480" elapsed="0.003578"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:48.681248" elapsed="0.003863"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:48.680468" elapsed="0.004680"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:48.685388" 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-08-22T23:10:48.686263" elapsed="0.003438"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:48.686048" elapsed="0.003715"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:48.693225" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:48.690060" elapsed="0.003298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:48.689885" elapsed="0.003585">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:48.685818" elapsed="0.007756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:48.669812" elapsed="0.023914">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:48.656136" elapsed="0.037781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:50.696910" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:50.695968" elapsed="0.001027"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:50.697827" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:50.697215" elapsed="0.000745"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:50.697163" elapsed="0.000855"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:50.720089" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:50.720264" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:50.720491" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:50.711441" elapsed="0.009118"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:50.721465" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:50.720742" elapsed="0.000855"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:50.727200" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:50.721932" elapsed="0.005391"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:50.721653" elapsed="0.005783"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:50.720697" elapsed="0.006791"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:50.727770" elapsed="0.000384"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:50.728999" elapsed="0.003577"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:50.728641" elapsed="0.003983"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:50.734991" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:50.732832" elapsed="0.002242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:50.732712" elapsed="0.002439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:50.728288" elapsed="0.006984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:50.710791" elapsed="0.024610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:50.694965" elapsed="0.040536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:52.738410" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:52.737433" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:52.739236" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:52.738673" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:52.738625" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:52.757285" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:52.757474" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:52.757575" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:52.748994" elapsed="0.008607"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:52.757976" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:52.757680" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:52.760273" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:52.758182" elapsed="0.002147"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:52.758056" elapsed="0.002386"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:52.757660" elapsed="0.002839"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:52.760784" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:52.761866" elapsed="0.004786"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:52.761604" elapsed="0.005137"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:52.770071" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:52.767185" elapsed="0.003026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:52.766922" elapsed="0.003365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:52.761284" elapsed="0.009079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:52.748407" elapsed="0.022063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:52.736437" elapsed="0.034129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:54.773745" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:54.772762" elapsed="0.001057"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:54.774644" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:54.774012" elapsed="0.000792"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:54.773963" elapsed="0.000908"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:54.795836" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:54.796004" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:54.796114" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:54.787750" elapsed="0.008390"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:54.796536" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:54.796221" elapsed="0.000372"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:54.798882" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:54.796785" elapsed="0.002205"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:54.796652" elapsed="0.002374"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:54.796202" elapsed="0.002845"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:54.799172" elapsed="0.000202"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:54.800083" elapsed="0.005392"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:54.799818" elapsed="0.005710"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:54.807859" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:54.805736" elapsed="0.002203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:54.805617" elapsed="0.002396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:54.799519" elapsed="0.008554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:54.787306" elapsed="0.020872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:54.771682" elapsed="0.036590">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:56.812646" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:56.810257" elapsed="0.002486"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:56.813723" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:56.812996" elapsed="0.000864"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:56.812928" elapsed="0.000987"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:56.832180" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:56.832459" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:56.832695" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:56.823104" elapsed="0.009628"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:56.833258" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:56.832845" elapsed="0.000491"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:56.838149" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:56.833577" elapsed="0.004689"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:56.833392" elapsed="0.004980"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:56.832818" elapsed="0.005606"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:56.838701" 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-08-22T23:10:56.839807" elapsed="0.003677"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:56.839540" elapsed="0.003984"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:56.845884" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:56.843730" elapsed="0.002234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:56.843608" elapsed="0.002433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:56.839218" elapsed="0.006885">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:56.822668" elapsed="0.023540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:56.809228" elapsed="0.037074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:10:58.849408" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:10:58.848411" elapsed="0.001073"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:10:58.850283" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:58.849683" elapsed="0.000869"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:58.849632" elapsed="0.000988"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:10:58.868171" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:10:58.868359" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:10:58.868489" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:10:58.860073" elapsed="0.008451"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:10:58.869035" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:10:58.868633" elapsed="0.000480"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:10:58.872366" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:10:58.869325" elapsed="0.003132"/>
</kw>
<status status="PASS" start="2026-08-22T23:10:58.869147" elapsed="0.003359"/>
</branch>
<status status="PASS" start="2026-08-22T23:10:58.868606" elapsed="0.003934"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:10:58.872737" elapsed="0.000266"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:10:58.873498" elapsed="0.003033"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:10:58.873303" elapsed="0.003287"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:10:58.879858" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:10:58.876874" elapsed="0.003065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:10:58.876706" elapsed="0.003308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:10:58.873087" elapsed="0.006989">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:10:58.859650" elapsed="0.020529">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:58.847376" elapsed="0.032930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:00.883153" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:00.882214" elapsed="0.001010"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:00.884067" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:00.883465" elapsed="0.000732"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:00.883414" elapsed="0.000838"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:00.904980" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:00.905147" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:00.905256" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:00.895293" elapsed="0.009989"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:00.905680" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:00.905388" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:00.907942" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:00.905888" elapsed="0.002106"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:00.905761" elapsed="0.002267"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:00.905363" elapsed="0.002687"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:00.908171" elapsed="0.000190"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:00.908805" elapsed="0.002979"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:00.908626" elapsed="0.003217"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:00.915094" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:00.912123" elapsed="0.003075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:00.911958" elapsed="0.003341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:00.908421" elapsed="0.007045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:00.894704" elapsed="0.020912">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:00.881211" elapsed="0.034628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:02.918888" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:02.917918" elapsed="0.001043"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:02.919781" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:02.919152" elapsed="0.000768"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:02.919101" elapsed="0.000878"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:02.938086" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:02.938510" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:02.938739" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:02.929821" elapsed="0.008975"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:02.939679" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:02.938989" elapsed="0.000817"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:02.945473" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:02.940147" elapsed="0.005448"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:02.939862" elapsed="0.005810"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:02.938932" elapsed="0.006788"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:02.945994" elapsed="0.000483"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:02.947173" elapsed="0.003480"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:02.946908" elapsed="0.003795"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:02.953116" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:02.950919" elapsed="0.002335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:02.950799" elapsed="0.002531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:02.946613" elapsed="0.006797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:02.929315" elapsed="0.024199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:02.916904" elapsed="0.036704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:04.956511" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:04.955567" elapsed="0.001017"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:04.957334" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:04.956773" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:04.956726" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:04.974600" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:04.974853" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:04.974992" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:04.966981" elapsed="0.008047"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:04.975567" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:04.975138" elapsed="0.000509"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:04.978818" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:04.975861" elapsed="0.003111"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:04.975681" elapsed="0.003346"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:04.975111" elapsed="0.003947"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:04.979247" elapsed="0.000280"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:04.980035" elapsed="0.002989"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:04.979862" elapsed="0.003219"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:04.986459" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:04.983386" elapsed="0.003201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:04.983199" elapsed="0.003504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:04.979641" elapsed="0.007129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:04.966545" elapsed="0.020330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:04.954595" elapsed="0.032375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:06.990142" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:06.989142" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:06.991123" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:06.990454" elapsed="0.000803"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:06.990403" elapsed="0.000912"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:07.009879" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:07.010046" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:07.010211" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:07.001949" elapsed="0.008288"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:07.010710" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:07.010319" elapsed="0.000506"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:07.013976" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:07.011037" elapsed="0.003012"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:07.010862" elapsed="0.003234"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:07.010299" elapsed="0.003827"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:07.014296" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:07.015006" elapsed="0.002962"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:07.014839" elapsed="0.003185"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:07.020895" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:07.018301" elapsed="0.002676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:07.018139" elapsed="0.002913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:07.014636" elapsed="0.006476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:07.001518" elapsed="0.019699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:06.987991" elapsed="0.033320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:09.024385" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:09.023233" elapsed="0.001228"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:09.025223" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:09.024658" elapsed="0.000930"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:09.024607" elapsed="0.001055"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:09.046568" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:09.046788" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:09.046927" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:09.038324" elapsed="0.008638"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:09.047507" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:09.047073" elapsed="0.000514"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:09.050720" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:09.047801" elapsed="0.002995"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:09.047626" elapsed="0.003217"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:09.047046" elapsed="0.003828"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:09.051048" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:09.051749" elapsed="0.004802"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:09.051581" elapsed="0.005050"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:09.059006" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:09.056842" elapsed="0.002245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:09.056717" elapsed="0.002445">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:09.051390" elapsed="0.007837">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:09.037901" elapsed="0.021434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:09.022240" elapsed="0.037252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:11.062393" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:11.061463" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:11.063217" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:11.062655" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:11.062608" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:11.081744" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:11.081912" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:11.082010" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:11.073481" elapsed="0.008555"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:11.082432" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:11.082116" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:11.084676" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:11.082641" elapsed="0.002087"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:11.082515" elapsed="0.002247"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:11.082097" elapsed="0.002686"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:11.084930" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:11.085431" elapsed="0.002125"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:11.085294" elapsed="0.002303"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:11.090548" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:11.087814" elapsed="0.002814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:11.087680" elapsed="0.003024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:11.085160" elapsed="0.005664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:11.072774" elapsed="0.018154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:11.060445" elapsed="0.030581">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:13.094070" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:13.093018" elapsed="0.001126"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:13.095021" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:13.094370" elapsed="0.000790"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:13.094291" elapsed="0.000926"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:13.114597" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:13.114773" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:13.114886" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:13.106134" elapsed="0.008779"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:13.115299" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:13.114996" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:13.117591" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:13.115525" elapsed="0.002120"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:13.115399" elapsed="0.002281"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:13.114975" elapsed="0.002726"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:13.117827" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:13.118440" elapsed="0.002935"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:13.118296" elapsed="0.003140"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:13.124792" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:13.121723" elapsed="0.003252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:13.121554" elapsed="0.003526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:13.118156" elapsed="0.007008">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:13.105504" elapsed="0.019803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:13.092049" elapsed="0.033417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:15.128328" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:15.127431" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:15.129176" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:15.128620" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:15.128573" elapsed="0.000818"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:15.147697" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:15.148010" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:15.148231" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:15.139520" elapsed="0.008772"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:15.149149" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:15.148507" elapsed="0.000769"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:15.154428" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:15.149648" elapsed="0.004995"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:15.149333" elapsed="0.005390"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:15.148463" elapsed="0.006310"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:15.155102" elapsed="0.000415"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:15.155933" elapsed="0.002368"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:15.155811" elapsed="0.002545"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:15.160772" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:15.158565" elapsed="0.002286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:15.158443" elapsed="0.002482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:15.155644" elapsed="0.005344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:15.138862" elapsed="0.022231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:15.126453" elapsed="0.034739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:17.163523" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:17.162880" elapsed="0.000692"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:17.164080" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:17.163709" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:17.163674" elapsed="0.000522"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:17.180378" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:17.180602" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:17.180815" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:17.172421" elapsed="0.008432"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:17.181371" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:17.180964" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:17.184565" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:17.181682" elapsed="0.002955"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:17.181507" elapsed="0.003177"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:17.180937" elapsed="0.003777"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:17.184886" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:17.185585" elapsed="0.003044"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:17.185413" elapsed="0.003272"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:17.191990" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:17.188980" elapsed="0.003116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:17.188803" elapsed="0.003396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:17.185203" elapsed="0.007080">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:17.171985" elapsed="0.020466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:17.162153" elapsed="0.030433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:19.195744" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:19.194813" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:19.196660" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:19.196058" elapsed="0.000841"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:19.195990" elapsed="0.000973"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:19.216157" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:19.216406" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:19.216563" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:19.208252" elapsed="0.008361"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:19.217134" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:19.216730" elapsed="0.000482"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:19.220359" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:19.217448" elapsed="0.003008"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:19.217246" elapsed="0.003259"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:19.216703" elapsed="0.003834"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:19.220757" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:19.221487" elapsed="0.003031"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:19.221291" elapsed="0.003287"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:19.227917" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:19.224922" elapsed="0.003103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:19.224716" elapsed="0.003410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:19.221091" elapsed="0.007120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:19.207819" elapsed="0.020540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:19.193828" elapsed="0.034737">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:21.231674" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:21.230750" elapsed="0.000995"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:21.232518" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:21.231931" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:21.231884" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:21.250647" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:21.250821" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:21.250961" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:21.243307" elapsed="0.007689"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:21.251559" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:21.251130" elapsed="0.000510"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:21.254691" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:21.251843" elapsed="0.002922"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:21.251673" elapsed="0.003140"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:21.251102" elapsed="0.003744"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:21.255044" elapsed="0.000293"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:21.255804" elapsed="0.003221"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:21.255637" elapsed="0.003445"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:21.261734" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:21.259466" elapsed="0.002346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:21.259203" elapsed="0.002682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:21.255450" elapsed="0.006548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:21.242843" elapsed="0.019261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:21.229777" elapsed="0.032425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:23.263736" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:23.263279" elapsed="0.000491"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:23.264124" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:23.263864" elapsed="0.000317"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:23.263840" elapsed="0.000367"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:23.278547" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:23.278722" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:23.278821" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:23.270844" elapsed="0.008003"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:23.279214" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:23.278925" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:23.282706" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:23.279516" elapsed="0.003271"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:23.279308" elapsed="0.003528"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:23.278905" elapsed="0.003965"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:23.283064" elapsed="0.000257"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:23.283810" elapsed="0.003292"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:23.283628" elapsed="0.003535"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:23.291196" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:23.287517" elapsed="0.003891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:23.287294" elapsed="0.004236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:23.283429" elapsed="0.008209">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:23.270418" elapsed="0.021396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:23.262793" elapsed="0.029189">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:25.294854" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:25.293856" elapsed="0.001071"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:25.295765" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:25.295128" elapsed="0.000806"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:25.295076" elapsed="0.000985"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:25.314262" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:25.314456" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:25.314568" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:25.306178" elapsed="0.008417"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:25.314971" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:25.314673" elapsed="0.000355"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:25.317292" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:25.315189" elapsed="0.002237"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:25.315052" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:25.314654" elapsed="0.002831"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:25.317695" elapsed="0.000200"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:25.318346" elapsed="0.002974"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:25.318172" elapsed="0.003228"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:25.324909" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:25.321713" elapsed="0.003306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:25.321518" elapsed="0.003606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:25.317979" elapsed="0.007229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:25.305719" elapsed="0.019657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:25.292805" elapsed="0.032712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:27.328482" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:27.327539" elapsed="0.001015"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:27.329408" elapsed="0.000078"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:27.328743" elapsed="0.000875"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:27.328695" elapsed="0.001016"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:27.347799" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:27.348067" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:27.348380" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:27.339369" elapsed="0.009076"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:27.349199" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:27.348627" elapsed="0.000673"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:27.353297" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:27.349619" elapsed="0.003759"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:27.349346" elapsed="0.004072"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:27.348588" elapsed="0.004855"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:27.353591" elapsed="0.000205"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:27.354157" elapsed="0.002438"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:27.354024" elapsed="0.002614"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:27.359013" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:27.356840" elapsed="0.002255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:27.356721" elapsed="0.002451">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:27.353867" elapsed="0.005367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:27.338890" elapsed="0.020450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:27.326561" elapsed="0.032895">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:29.362496" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:29.361475" elapsed="0.001095"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:29.363400" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:29.362783" elapsed="0.000861"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:29.362718" elapsed="0.000990"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:29.383849" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:29.384167" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:29.384444" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:29.374383" elapsed="0.010127"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:29.385389" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:29.384692" elapsed="0.000840"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:29.390795" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:29.385872" elapsed="0.005041"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:29.385590" elapsed="0.005401"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:29.384648" elapsed="0.006380"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:29.391154" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:29.391662" elapsed="0.002123"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:29.391537" elapsed="0.002289"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:29.396189" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:29.394025" elapsed="0.002241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:29.393907" elapsed="0.002437">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:29.391402" elapsed="0.005018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:29.373679" elapsed="0.022854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:29.360494" elapsed="0.036168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:31.399747" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:31.398781" elapsed="0.001050"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:31.400632" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:31.400025" elapsed="0.000755"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:31.399975" elapsed="0.000876"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:31.419959" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:31.420176" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:31.420328" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:31.411856" elapsed="0.008538"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:31.420914" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:31.420510" elapsed="0.000485"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:31.424127" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:31.421259" elapsed="0.002940"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:31.421031" elapsed="0.003217"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:31.420482" elapsed="0.003797"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:31.424474" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:31.425220" elapsed="0.002988"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:31.424975" elapsed="0.003290"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:31.431587" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:31.428570" elapsed="0.003124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:31.428403" elapsed="0.003392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:31.424792" elapsed="0.007154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:31.411425" elapsed="0.020671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:31.397747" elapsed="0.034485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:33.434992" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:33.434084" elapsed="0.000980"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:33.435832" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:33.435249" elapsed="0.000711"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:33.435202" elapsed="0.000814"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:33.453516" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:33.453683" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:33.453781" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:33.445957" elapsed="0.007849"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:33.454255" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:33.453884" elapsed="0.000476"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:33.458192" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:33.454582" elapsed="0.003703"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:33.454400" elapsed="0.003972"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:33.453865" elapsed="0.004550"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:33.458642" elapsed="0.000300"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:33.459537" elapsed="0.003750"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:33.459275" elapsed="0.004095"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:33.466653" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:33.463675" elapsed="0.003103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:33.463496" elapsed="0.003359">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:33.459041" elapsed="0.007875">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:33.445536" elapsed="0.021485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:33.433163" elapsed="0.033955">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:35.470188" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:35.469151" elapsed="0.001115"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:35.471101" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:35.470501" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:35.470448" elapsed="0.000851"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:35.490811" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:35.491013" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:35.491150" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:35.482037" elapsed="0.009145"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:35.491725" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:35.491298" elapsed="0.000501"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:35.494808" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:35.491996" elapsed="0.002962"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:35.491832" elapsed="0.003171"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:35.491270" elapsed="0.003760"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:35.495200" elapsed="0.000317"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:35.495985" elapsed="0.002222"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:35.495803" elapsed="0.002450"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:35.500806" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:35.498488" elapsed="0.002403">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:35.498362" elapsed="0.002607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:35.495607" elapsed="0.005426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:35.481450" elapsed="0.019707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:35.468123" elapsed="0.033137">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:37.503985" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:37.503060" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:37.504826" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:37.504240" elapsed="0.000716"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:37.504191" elapsed="0.000820"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:37.522919" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:37.523104" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:37.523274" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:37.514677" elapsed="0.008624"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:37.523700" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:37.523405" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:37.525974" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:37.523904" elapsed="0.002122"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:37.523782" elapsed="0.002278"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:37.523384" elapsed="0.002700"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:37.526390" 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-08-22T23:11:37.527482" elapsed="0.004779"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:37.527186" elapsed="0.005198"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:37.535703" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:37.532838" elapsed="0.002943">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:37.532572" elapsed="0.003283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:37.526898" elapsed="0.009018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:37.514229" elapsed="0.021790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:37.502074" elapsed="0.034047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:39.538950" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:39.538017" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:39.539973" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:39.539405" elapsed="0.000806"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:39.539326" elapsed="0.000949"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:39.558992" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0yksthelu5kfi3vji0944usf50.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:39.559223" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:39.559417" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:39.551306" elapsed="0.008149"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:39.559966" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:39.559565" elapsed="0.000479"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:39.563401" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:39.560256" elapsed="0.003220"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:39.560077" elapsed="0.003447"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:39.559537" elapsed="0.004018"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:39.563727" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:39.564414" elapsed="0.003006"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:11:39.564226" elapsed="0.003250"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:39.570153" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:39.567759" elapsed="0.002474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:11:39.567592" elapsed="0.002715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:39.564042" elapsed="0.006345">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:39.550865" elapsed="0.019626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:39.537038" elapsed="0.033584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-08-22T23:11:39.570716" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-22T23:10:07.882726" elapsed="91.688107">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:11:39.571021" elapsed="0.000023"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:39.571903" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:11:39.840644" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:11:39.841003" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:11:39.841109" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:11:39.841202" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:39.571722" elapsed="0.269548"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:39.842656" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:39.841885" elapsed="0.000868"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:39.843500" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:11:40.138273" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:11:40.138662" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:11:40.138763" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:11:40.138857" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:39.843080" elapsed="0.295831"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.139819" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:11:40.205552" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:11:40.205817" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:11:40.205916" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:11:40.206005" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:40.139381" elapsed="0.066675"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.206673" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:11:40.253192" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:40.206448" elapsed="0.046879"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:40.271605" level="INFO">DELETE Request : url=http://10.30.171.114: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=node0yksthelu5kfi3vji0944usf50.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:40.271673" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:40.271802" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:40.253691" elapsed="0.018146"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:40.285829" level="INFO">DELETE Request : url=http://10.30.171.114: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=node0yksthelu5kfi3vji0944usf50.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:40.286050" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:11:40.286282" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:40.272034" elapsed="0.014286"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:11:39.571408" elapsed="0.715050"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-22T23:10:06.212971" elapsed="94.073569">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCmlHJtDzLagAoTgFLiW6/E68T/hf5j/6327TfX99HGEKwUaVZQHoj9IMK6+DQ2hxSq4b5dS1jKknnc1mLNNM1KQ3z8+AAqjnCfQwlIcd7O6qFZ2P8Ot7RbtuCMr3sBXzYnpH2u4rCu3dZukNCxB7ZFSpPFSHdspTd+lYQsvdn3v6yqHwhoT684J+S757rjq/e4hmLo6gasOeYemldJqF0nWUlwyZcFiDemkln8I+30NiwHHlNsho51/j++X5TnXFyzMEToTpChGRAOQCqKDkKtYE9LXolr+OKL5MB1fa5YG2FHrgg/QVJMDs1pcLGC8bI7ZrfrEjLTBikT/kakWIGD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t2" name="CallHome over SSH with incorrect device credentials" line="34">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:40.288862" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cdead050&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:11:40.288493" elapsed="0.000650"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.289508" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:11:40.304937" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:40.289368" elapsed="0.015744"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.305709" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:11:40.773001" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:40.305483" elapsed="0.467800"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.774167" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:11:40.825563" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:11:40.825848" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9H...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:40.773816" elapsed="0.052100"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:11:40.835596" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9H...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:11:40.826420" elapsed="0.009247"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:11:40.288062" elapsed="0.547698"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.873014" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:11:40.836461" elapsed="0.036821"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.881418" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:11:40.873665" elapsed="0.007839"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-22T23:11:40.836032" elapsed="0.045566"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:11:40.887276" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:40.882590" elapsed="0.004796"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:11:40.888221" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:11:40.888443" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:11:40.887993" elapsed="0.000561"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:11:40.889285" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:11:40.888779" elapsed="0.000589"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:40.887625" elapsed="0.001822"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:40.887425" elapsed="0.002055"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:40.882554" elapsed="0.006955"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:11:40.890042" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:11:40.889692" elapsed="0.000389"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:11:40.890694" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:11:40.890286" elapsed="0.000446"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:11:40.891248" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:11:40.890929" elapsed="0.000348"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:11:40.891671" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:11:40.891438" elapsed="0.000261"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:40.913717" level="INFO">POST Request : url=http://10.30.171.114: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:11:40.913899" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:11:40 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:40.914208" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:40.891832" elapsed="0.022438"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:11:40.914808" elapsed="0.005080"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:11:40.881979" elapsed="0.038067"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:11:40.920832" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-22T23:11:41.188166" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:11:41.188628" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:11:41.188731" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:11:41.188824" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:11:40.920430" elapsed="0.268446"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:41.192670" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:41.191804" 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-08-22T23:11:41.193520" elapsed="0.000518"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:41.192916" elapsed="0.001216"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:41.192863" elapsed="0.001340"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:41.211974" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:41.212260" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:41.212405" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:41.204477" elapsed="0.007956"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:41.212832" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:41.212513" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:41.215189" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:41.213041" elapsed="0.002204"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:41.212916" elapsed="0.002375"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:41.212493" elapsed="0.002823"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:41.215463" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:41.218213" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:41.215999" elapsed="0.002298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:41.215851" elapsed="0.002551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:41.215705" elapsed="0.002773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:41.204046" elapsed="0.014544">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:41.190930" elapsed="0.027759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:43.221602" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:43.220641" elapsed="0.001132"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:43.222556" elapsed="0.000493"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:43.221968" elapsed="0.001171"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:43.221920" elapsed="0.001276"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:43.243490" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:43.243659" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:43.243758" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:43.234067" elapsed="0.009717"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:43.244155" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:43.243864" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:43.249250" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:43.244617" elapsed="0.004780"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:43.244303" elapsed="0.005173"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:43.243844" elapsed="0.005681"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:43.249800" elapsed="0.000377"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:43.255667" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:43.250895" elapsed="0.004852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:43.250627" elapsed="0.005197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:43.250303" elapsed="0.005583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:43.233480" elapsed="0.022508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:43.219656" elapsed="0.036461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:45.259285" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:45.258311" elapsed="0.001076"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:45.260163" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:45.259596" elapsed="0.001162"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:45.259544" elapsed="0.001270"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:45.280578" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:45.280749" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:45.280848" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:45.270922" elapsed="0.009951"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:45.281278" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:45.280955" elapsed="0.000486"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:45.286424" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:45.281775" elapsed="0.004764"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:45.281497" elapsed="0.005121"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:45.280934" elapsed="0.005730"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:45.286941" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:45.292003" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:45.288034" elapsed="0.004052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:45.287769" elapsed="0.004393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:45.287474" elapsed="0.004750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:45.270314" elapsed="0.022093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:45.257098" elapsed="0.035409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:47.296099" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:47.295121" elapsed="0.001058"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:47.297042" elapsed="0.000513"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:47.296414" elapsed="0.001233"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:47.296333" elapsed="0.001370"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:47.315695" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:47.315877" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:47.315994" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:47.306699" elapsed="0.009323"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:47.316438" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:47.316106" elapsed="0.000393"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:47.320998" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:47.316660" elapsed="0.004459"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:47.316524" elapsed="0.004676"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:47.316086" elapsed="0.005164"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:47.321567" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:47.326478" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:47.322708" elapsed="0.003858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:47.322427" elapsed="0.004216">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:47.322095" elapsed="0.004692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:47.306251" elapsed="0.020650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:47.294069" elapsed="0.032972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:49.329940" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:49.328947" elapsed="0.001066"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:49.330802" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:49.330203" elapsed="0.001186"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:49.330155" elapsed="0.001295"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:49.349570" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:49.349730" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:49.349829" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:49.341869" 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-08-22T23:11:49.350265" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:49.349935" elapsed="0.000388"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:49.353042" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:49.350492" elapsed="0.002624"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:49.350346" elapsed="0.002819"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:49.349916" elapsed="0.003278"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:49.353390" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:49.357449" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:49.354061" elapsed="0.003562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:49.353893" elapsed="0.003835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:49.353709" elapsed="0.004106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:49.341268" elapsed="0.016691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:49.327983" elapsed="0.030114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:51.361399" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:51.360353" elapsed="0.001121"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:51.362228" elapsed="0.000517"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:51.361664" elapsed="0.001172"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:51.361616" elapsed="0.001298"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:51.380395" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:51.380565" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:51.380677" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:51.371635" elapsed="0.009069"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:51.381100" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:51.380786" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:51.384965" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:51.381321" elapsed="0.003861"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:51.381187" elapsed="0.004078"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:51.380766" elapsed="0.004548"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:51.385636" elapsed="0.000424"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:51.391093" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:51.386792" elapsed="0.004383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:51.386524" elapsed="0.004726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:51.386193" elapsed="0.005120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:51.371195" elapsed="0.020240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:51.359329" elapsed="0.032205">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:53.394576" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:53.393622" elapsed="0.001029"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:53.395477" elapsed="0.000549"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:53.394843" elapsed="0.001297"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:53.394793" elapsed="0.001421"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:53.415334" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:53.415534" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:53.415707" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:53.407208" elapsed="0.008526"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:53.416130" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:53.415816" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:53.418741" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:53.416344" elapsed="0.002514"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:53.416215" elapsed="0.002724"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:53.415797" elapsed="0.003190"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:53.419271" elapsed="0.000424"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:53.425606" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:53.420463" elapsed="0.005313">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:53.420146" elapsed="0.005861">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:53.419823" elapsed="0.006327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:53.406770" elapsed="0.019641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:53.392578" elapsed="0.033938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:55.429635" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:55.428637" elapsed="0.001071"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:55.430606" elapsed="0.000520"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:55.429903" elapsed="0.001314"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:55.429854" elapsed="0.001420"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:55.453801" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:55.454025" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:55.454166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:55.445169" elapsed="0.009040"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:55.454811" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:55.454383" elapsed="0.000509"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:55.458177" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:55.455124" elapsed="0.003126"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:55.454925" elapsed="0.003381"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:55.454323" elapsed="0.004025"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:55.458573" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:55.462509" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:55.459266" elapsed="0.003328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:55.459098" elapsed="0.003574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:55.458905" elapsed="0.003830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:55.444419" elapsed="0.018421">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:55.427580" elapsed="0.035357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:57.467663" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:57.466694" elapsed="0.001044"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:57.468611" elapsed="0.000484"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:57.467936" elapsed="0.001252"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:57.467885" elapsed="0.001362"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:57.490682" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:57.490851" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:57.490950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:57.481733" elapsed="0.009243"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:57.491372" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:57.491058" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:57.494036" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:57.491590" elapsed="0.002562"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:57.491457" elapsed="0.002774"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:57.491038" elapsed="0.003241"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:57.494594" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:57.500847" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:57.495783" elapsed="0.005232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:57.495447" elapsed="0.005730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:57.495103" elapsed="0.006210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:57.481106" elapsed="0.020447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:57.465603" elapsed="0.036107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:11:59.504861" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:11:59.503840" elapsed="0.001097"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:11:59.505770" elapsed="0.000488"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:59.505151" elapsed="0.001235"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:59.505091" elapsed="0.001357"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:11:59.524502" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:11:59.524740" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:11:59.524898" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:11:59.516449" elapsed="0.008488"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:11:59.525494" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:11:59.525054" elapsed="0.000532"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:11:59.528811" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:11:59.525820" elapsed="0.003067"/>
</kw>
<status status="PASS" start="2026-08-22T23:11:59.525625" elapsed="0.003314"/>
</branch>
<status status="PASS" start="2026-08-22T23:11:59.525025" elapsed="0.003945"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:11:59.529145" elapsed="0.000268"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:11:59.533049" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:11:59.529873" elapsed="0.003289">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:11:59.529696" elapsed="0.003571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:11:59.529497" elapsed="0.003882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:11:59.515984" elapsed="0.017617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:59.502767" elapsed="0.030975">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:01.536679" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:01.535742" elapsed="0.001009"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:01.537675" elapsed="0.000323"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:01.537064" elapsed="0.000993"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:01.536986" elapsed="0.001108"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:01.554093" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:01.554307" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:01.554475" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:01.546936" elapsed="0.007577"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:01.555031" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:01.554625" elapsed="0.000486"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:01.558270" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:01.555320" elapsed="0.003044"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:01.555146" elapsed="0.003269"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:01.554598" elapsed="0.003848"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:01.558620" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:01.562455" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:01.559287" elapsed="0.003248">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:01.559120" elapsed="0.003493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:01.558935" elapsed="0.003796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:01.546516" elapsed="0.016322">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:01.534765" elapsed="0.028171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:03.566150" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:03.565066" elapsed="0.001167"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:03.567102" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:03.566513" elapsed="0.001189"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:03.566443" elapsed="0.001318"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:03.585293" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:03.585559" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:03.585706" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:03.577374" elapsed="0.008369"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:03.586271" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:03.585857" elapsed="0.000553"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:03.589633" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:03.586653" elapsed="0.003056"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:03.586447" elapsed="0.003312"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:03.585830" elapsed="0.003960"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:03.589966" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:03.593557" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:03.590679" elapsed="0.003021">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:03.590500" elapsed="0.003278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:03.590288" elapsed="0.003554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:03.576901" elapsed="0.017047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:03.563992" elapsed="0.030056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:05.597027" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:05.595942" elapsed="0.001210"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:05.598002" elapsed="0.000527"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:05.597396" elapsed="0.001233"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:05.597312" elapsed="0.001434"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:05.618455" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:05.618773" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:05.619018" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:05.609470" elapsed="0.009608"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:05.619940" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:05.619260" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:05.625127" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:05.620436" elapsed="0.004902"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:05.620121" elapsed="0.005332"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:05.619215" elapsed="0.006287"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:05.625781" elapsed="0.000246"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:05.629553" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:05.626487" elapsed="0.003181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:05.626296" elapsed="0.003477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:05.626109" elapsed="0.003750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:05.608835" elapsed="0.021168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:05.594984" elapsed="0.035157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:07.633027" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:07.632077" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:07.633926" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:07.633294" elapsed="0.001218"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:07.633243" elapsed="0.001327"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:07.656542" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:07.656790" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:07.657171" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:07.647928" elapsed="0.009316"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:07.658199" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:07.657478" elapsed="0.000856"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:07.663728" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:07.658721" elapsed="0.005129"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:07.658440" elapsed="0.005515"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:07.657430" elapsed="0.006577"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:07.664295" elapsed="0.000494"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:07.669866" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:07.665561" elapsed="0.004389">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:07.665250" elapsed="0.004777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:07.664933" elapsed="0.005158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:07.647249" elapsed="0.022946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:07.631085" elapsed="0.039207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:09.673146" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:09.672201" elapsed="0.001016"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:09.674081" elapsed="0.000499"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:09.673505" elapsed="0.001163"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:09.673449" elapsed="0.001277"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:09.694011" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:09.694229" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:09.694396" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:09.685212" elapsed="0.009222"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:09.694982" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:09.694547" elapsed="0.000540"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:09.698227" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:09.695308" elapsed="0.002992"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:09.695123" elapsed="0.003246"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:09.694520" elapsed="0.003882"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:09.698576" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:09.702448" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:09.699245" elapsed="0.003311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:09.699078" elapsed="0.003579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:09.698891" elapsed="0.003858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:09.684791" elapsed="0.018101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:09.671202" elapsed="0.031823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:11.705976" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:11.704987" 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-08-22T23:12:11.706811" elapsed="0.000296"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:11.706241" elapsed="0.000922"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:11.706192" elapsed="0.001007"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:11.724235" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:11.724483" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:11.724636" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:11.716289" elapsed="0.008384"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:11.725183" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:11.724783" elapsed="0.000480"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:11.728358" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:11.725489" elapsed="0.002944"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:11.725297" elapsed="0.003184"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:11.724757" elapsed="0.003754"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:11.728683" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:11.732510" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:11.729364" elapsed="0.003259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:11.729179" elapsed="0.003546">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:11.728995" elapsed="0.003820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:11.715864" elapsed="0.017095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:11.704056" elapsed="0.029104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:13.735987" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:13.735051" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:13.736835" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:13.736246" elapsed="0.001170"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:13.736198" elapsed="0.001276"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:13.754689" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:13.755025" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:13.755260" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:13.746490" elapsed="0.008833"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:13.756261" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:13.755557" elapsed="0.000873"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:13.762014" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:13.756794" elapsed="0.005349"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:13.756489" elapsed="0.005736"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:13.755509" elapsed="0.006767"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:13.762658" elapsed="0.000287"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:13.768528" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:13.763412" elapsed="0.005224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:13.763211" elapsed="0.005528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:13.763028" elapsed="0.005798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:13.746050" elapsed="0.022979">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:13.734109" elapsed="0.035058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:15.772024" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:15.771091" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:15.772886" elapsed="0.000296"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:15.772286" elapsed="0.000952"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:15.772238" elapsed="0.001036"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:15.789749" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:15.789917" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:15.790017" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:15.782084" elapsed="0.007961"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:15.790476" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:15.790128" elapsed="0.000407"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:15.792842" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:15.790688" elapsed="0.002229"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:15.790561" elapsed="0.002404"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:15.790108" elapsed="0.002888"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:15.793174" elapsed="0.000265"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:15.796983" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:15.793882" elapsed="0.003213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:15.793711" elapsed="0.003488">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:15.793522" elapsed="0.003857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:15.781633" elapsed="0.015897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:15.770124" elapsed="0.027544">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:17.800495" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:17.799573" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:17.801374" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:17.800758" elapsed="0.001166"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:17.800710" elapsed="0.001270"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:17.819570" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:17.819730" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:17.819845" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:17.812205" elapsed="0.007685"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:17.820459" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:17.820028" elapsed="0.000512"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:17.823598" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:17.820746" elapsed="0.002926"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:17.820574" elapsed="0.003147"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:17.819994" elapsed="0.003757"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:17.823922" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:17.827679" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:17.824611" elapsed="0.003302">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:17.824444" elapsed="0.003570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:17.824238" elapsed="0.003843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:17.811664" elapsed="0.016520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:17.798597" elapsed="0.029683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:19.831162" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:19.830228" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:19.832054" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:19.831454" elapsed="0.001232"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:19.831404" elapsed="0.001345"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:19.852410" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:19.852582" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:19.852681" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:19.844289" elapsed="0.008419"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:19.853083" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:19.852787" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:19.856063" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:19.853291" elapsed="0.002907"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:19.853164" elapsed="0.003084"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:19.852768" elapsed="0.003510"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:19.856472" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:19.860565" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:19.857176" elapsed="0.003501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:19.856976" elapsed="0.003811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:19.856790" elapsed="0.004088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:19.843702" elapsed="0.017321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:19.829224" elapsed="0.031947">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:21.864181" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:21.863200" 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-08-22T23:12:21.865055" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:21.864490" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:21.864437" elapsed="0.001260"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:21.883941" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:21.884132" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:21.884304" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:21.875884" elapsed="0.008494"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:21.884902" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:21.884469" elapsed="0.000499"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:21.887270" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:21.885124" elapsed="0.002197"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:21.884993" elapsed="0.002378"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:21.884449" elapsed="0.002944"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:21.887518" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:21.891409" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:21.888142" elapsed="0.003380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:21.887890" elapsed="0.003736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:21.887753" elapsed="0.003960">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:21.875461" elapsed="0.016397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:21.862140" elapsed="0.029853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:23.894997" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:23.893941" elapsed="0.001131"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:23.895969" elapsed="0.000542"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:23.895272" elapsed="0.001347"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:23.895221" elapsed="0.001460"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:23.915218" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:23.915411" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:23.915543" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:23.906645" elapsed="0.008928"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:23.916030" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:23.915658" elapsed="0.000435"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:23.919900" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:23.916246" elapsed="0.003787"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:23.916119" elapsed="0.003993"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:23.915637" elapsed="0.004524"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:23.920474" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:23.925764" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:23.921576" elapsed="0.004273">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:23.921281" elapsed="0.004645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:23.920982" elapsed="0.005005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:23.906031" elapsed="0.020064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:23.892961" elapsed="0.033231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:25.929009" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:25.928010" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:25.929867" elapsed="0.000342"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:25.929278" elapsed="0.000988"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:25.929229" elapsed="0.001072"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:25.947109" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:25.947323" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:25.947492" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:25.939085" elapsed="0.008453"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:25.948059" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:25.947651" elapsed="0.000488"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:25.951257" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:25.948367" elapsed="0.002962"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:25.948173" elapsed="0.003225"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:25.947623" elapsed="0.003806"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:25.951600" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:25.955682" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:25.952270" elapsed="0.003519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:25.952104" elapsed="0.003788">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:25.951915" elapsed="0.004063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:25.938664" elapsed="0.017456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:25.927067" elapsed="0.029255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:27.959274" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:27.958381" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:27.960129" elapsed="0.000497"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:27.959572" elapsed="0.001145"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:27.959523" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:27.981697" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:27.982102" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:27.982332" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:27.970938" elapsed="0.011486"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:27.983255" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:27.982607" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:27.988507" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:27.983747" elapsed="0.004903"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:27.983469" elapsed="0.005283"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:27.982564" elapsed="0.006254"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:27.989153" elapsed="0.000470"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:27.995516" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:27.990405" elapsed="0.005196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:27.990103" elapsed="0.005577">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:27.989756" elapsed="0.005987">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:27.970352" elapsed="0.025557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:27.957318" elapsed="0.038691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:29.998910" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:29.997909" elapsed="0.001174"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:29.999934" elapsed="0.000367"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:29.999289" elapsed="0.001090"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:29.999237" elapsed="0.001183"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:30.016525" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:30.016698" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:30.016818" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:30.010422" elapsed="0.006423"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:30.017331" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:30.016942" elapsed="0.000492"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:30.020639" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:30.017648" elapsed="0.003063"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:30.017471" elapsed="0.003288"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:30.016918" elapsed="0.003872"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:30.020962" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:30.024739" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:30.021673" elapsed="0.003178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:30.021495" elapsed="0.003459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:30.021285" elapsed="0.003828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:30.009907" elapsed="0.015355">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:29.996966" elapsed="0.028456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:32.028430" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:32.027450" elapsed="0.001055"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:32.029261" elapsed="0.000497"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:32.028700" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:32.028650" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:32.048451" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:32.048673" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:32.048810" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:32.040561" elapsed="0.008285"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:32.049400" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:32.048958" elapsed="0.000524"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:32.052620" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:32.049686" elapsed="0.003008"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:32.049515" elapsed="0.003228"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:32.048931" elapsed="0.003842"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:32.052947" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:32.057045" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:32.053643" elapsed="0.003579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:32.053473" elapsed="0.003856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:32.053265" elapsed="0.004174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:32.040123" elapsed="0.017461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:32.026455" elapsed="0.031301">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:34.060777" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:34.059805" elapsed="0.001057"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:34.061837" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:34.061192" elapsed="0.001246"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:34.061124" elapsed="0.001375"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:34.084624" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:34.084960" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:34.085235" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:34.076112" elapsed="0.009189"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:34.086263" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:34.085532" elapsed="0.000907"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:34.091178" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:34.086803" elapsed="0.004521"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:34.086500" elapsed="0.004905"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:34.085484" elapsed="0.005953"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:34.091615" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:34.095400" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:34.092305" elapsed="0.003207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:34.092129" elapsed="0.003491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:34.091940" elapsed="0.003768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:34.075673" elapsed="0.020180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:34.058776" elapsed="0.037214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:36.099147" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:36.098178" elapsed="0.001050"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:36.100044" elapsed="0.000537"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:36.099478" elapsed="0.001197"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:36.099427" elapsed="0.001307"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:36.121228" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:36.121430" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:36.121622" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:36.112846" elapsed="0.008806"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:36.122119" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:36.121738" elapsed="0.000448"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:36.124508" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:36.122381" elapsed="0.002181"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:36.122217" elapsed="0.002386"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:36.121715" elapsed="0.002912"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:36.124754" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:36.127635" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:36.125251" elapsed="0.002493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:36.125127" elapsed="0.002725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:36.124989" elapsed="0.002952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:36.112221" elapsed="0.015865">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:36.097021" elapsed="0.031202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:38.131010" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:38.130074" elapsed="0.001062"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:38.131953" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:38.131332" elapsed="0.001205"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:38.131283" elapsed="0.001310"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:38.151928" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:38.152147" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:38.152286" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:38.143640" elapsed="0.008683"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:38.152865" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:38.152461" elapsed="0.000483"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:38.156078" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:38.153150" elapsed="0.003001"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:38.152978" elapsed="0.003222"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:38.152434" elapsed="0.003797"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:38.156426" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:38.160382" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:38.157100" elapsed="0.003364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:38.156933" elapsed="0.003606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:38.156746" elapsed="0.003855">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:38.143199" elapsed="0.017504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:38.129129" elapsed="0.031669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:40.163743" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:40.162789" elapsed="0.001027"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:40.164657" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:40.164012" elapsed="0.001214"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:40.163962" elapsed="0.001325"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:40.184475" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:40.184684" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:40.184815" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:40.176249" elapsed="0.008602"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:40.185406" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:40.184958" elapsed="0.000627"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:40.191061" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:40.186054" elapsed="0.005133"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:40.185666" elapsed="0.005605"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:40.184931" elapsed="0.006388"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:40.191655" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:40.195329" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:40.192847" elapsed="0.002583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:40.192565" elapsed="0.002941">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:40.192228" elapsed="0.003344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:40.175590" elapsed="0.020097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:40.161797" elapsed="0.034073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:42.199236" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:42.198103" elapsed="0.001210"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:42.200222" elapsed="0.000600"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:42.199570" elapsed="0.001348"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:42.199516" elapsed="0.001463"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:42.218841" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:42.219014" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:42.219127" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:42.211154" elapsed="0.008000"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:42.219680" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:42.219236" elapsed="0.000528"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:42.222976" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:42.219995" elapsed="0.003057"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:42.219800" elapsed="0.003301"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:42.219216" elapsed="0.003917"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:42.223309" elapsed="0.000266"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:42.227226" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:42.224042" elapsed="0.003318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:42.223849" elapsed="0.003627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:42.223657" elapsed="0.003905">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:42.210703" elapsed="0.017077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:42.196836" elapsed="0.031085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:44.230928" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:44.229932" elapsed="0.001067"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:44.231784" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:44.231190" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:44.231142" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:44.250578" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:44.250746" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:44.250845" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:44.242889" elapsed="0.007982"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:44.251247" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:44.250950" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:44.253529" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:44.251482" elapsed="0.002099"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:44.251332" elapsed="0.002283"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:44.250931" elapsed="0.002706"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:44.253761" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:44.256623" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:44.254264" elapsed="0.002438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:44.254125" elapsed="0.002650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:44.253990" elapsed="0.002900">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:44.242465" elapsed="0.014530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:44.228948" elapsed="0.028143">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:46.259906" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:46.258947" elapsed="0.001032"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:46.260760" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:46.260169" elapsed="0.001137"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:46.260122" elapsed="0.001272"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:46.279872" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:46.280038" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:46.280137" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:46.271741" elapsed="0.008421"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:46.280565" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:46.280240" elapsed="0.000382"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:46.282796" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:46.280768" elapsed="0.002079"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:46.280646" elapsed="0.002234"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:46.280221" elapsed="0.002681"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:46.283022" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:46.286222" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:46.283560" elapsed="0.002856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:46.283440" elapsed="0.003081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:46.283285" elapsed="0.003324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:46.271114" elapsed="0.015638">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:46.258024" elapsed="0.028862">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:48.289696" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:48.288770" elapsed="0.000997"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:48.290567" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:48.289955" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:48.289907" elapsed="0.001263"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:48.309258" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:48.309471" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:48.309717" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:48.301871" elapsed="0.007905"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:48.310632" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:48.309954" elapsed="0.000806"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:48.314880" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:48.311104" elapsed="0.003910"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:48.310816" elapsed="0.004248"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:48.309911" elapsed="0.005183"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:48.315266" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:48.319015" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:48.315969" elapsed="0.003154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:48.315800" elapsed="0.003426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:48.315613" elapsed="0.003703">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:48.301437" elapsed="0.018047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:48.287797" elapsed="0.031825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:50.322710" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:50.321703" elapsed="0.001083"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:50.323712" elapsed="0.000510"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:50.322993" elapsed="0.001324"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:50.322942" elapsed="0.001469"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:50.344660" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:50.345018" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:50.345458" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:50.334738" elapsed="0.010786"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:50.346489" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:50.345738" elapsed="0.000883"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:50.351380" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:50.346963" elapsed="0.004500"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:50.346678" elapsed="0.004838"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:50.345685" elapsed="0.005863"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:50.351737" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:50.358116" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:50.352504" elapsed="0.005732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:50.352288" elapsed="0.006083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:50.352083" elapsed="0.006385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:50.334019" elapsed="0.024606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:50.320636" elapsed="0.038130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:52.361689" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:52.360763" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:52.362567" elapsed="0.000467"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:52.361948" elapsed="0.001174"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:52.361901" elapsed="0.001285"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:52.385101" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:52.385293" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:52.385434" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:52.375133" elapsed="0.010348"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:52.385874" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:52.385569" elapsed="0.000363"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:52.388744" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:52.386146" elapsed="0.002672"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:52.385970" elapsed="0.002897"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:52.385548" elapsed="0.003351"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:52.389071" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:52.393170" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:52.389856" elapsed="0.003427">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:52.389682" elapsed="0.003773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:52.389488" elapsed="0.004082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:52.373512" elapsed="0.020210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:52.359789" elapsed="0.034070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:54.397025" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:54.396086" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:54.397885" elapsed="0.000468"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:54.397286" elapsed="0.001184"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:54.397237" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:54.415554" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:54.415725" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:54.415835" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:54.408154" elapsed="0.007708"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:54.416228" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:54.415941" elapsed="0.000345"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:54.419238" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:54.416449" elapsed="0.002861"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:54.416309" elapsed="0.003074"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:54.415922" elapsed="0.003494"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:54.419681" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:54.423390" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:54.420381" elapsed="0.003120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:54.420194" elapsed="0.003408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:54.420008" elapsed="0.003717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:54.407723" elapsed="0.016146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:54.395093" elapsed="0.028983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:56.427948" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:56.426806" elapsed="0.001231"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:56.428891" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:56.428246" elapsed="0.001270"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:56.428194" elapsed="0.001382"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:56.447144" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:56.447332" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:56.447462" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:56.439669" elapsed="0.007820"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:56.448018" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:56.447574" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:56.451380" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:56.448320" elapsed="0.003138"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:56.448138" elapsed="0.003372"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:56.447554" elapsed="0.003988"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:56.451737" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:56.455897" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:56.452480" elapsed="0.003532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:56.452281" elapsed="0.003840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:56.452086" elapsed="0.004127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:56.439179" elapsed="0.017283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:56.425453" elapsed="0.031165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:12:58.459864" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:12:58.458738" elapsed="0.001199"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:12:58.460735" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:58.460134" elapsed="0.001155"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:58.460083" elapsed="0.001291"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:12:58.479659" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:12:58.479869" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:12:58.479976" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:12:58.471886" elapsed="0.008120"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:12:58.480420" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:12:58.480091" elapsed="0.000395"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:12:58.483610" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:12:58.480674" elapsed="0.003010"/>
</kw>
<status status="PASS" start="2026-08-22T23:12:58.480512" elapsed="0.003223"/>
</branch>
<status status="PASS" start="2026-08-22T23:12:58.480071" elapsed="0.003695"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:12:58.483978" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:12:58.487745" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:12:58.484685" elapsed="0.003215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:12:58.484517" elapsed="0.003494">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:12:58.484301" elapsed="0.003884">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:12:58.471192" elapsed="0.017142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:12:58.457717" elapsed="0.030787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:00.491589" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:00.490581" elapsed="0.001083"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:00.492486" elapsed="0.000480"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:00.491862" elapsed="0.001194"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:00.491813" elapsed="0.001303"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:00.513148" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:00.513318" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:00.513491" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:00.506312" elapsed="0.007207"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:00.514037" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:00.513602" elapsed="0.000514"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:00.517250" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:00.514325" elapsed="0.003000"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:00.514150" elapsed="0.003247"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:00.513581" elapsed="0.003848"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:00.517627" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:00.521436" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:00.518306" elapsed="0.003350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:00.518134" elapsed="0.003628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:00.517948" elapsed="0.003902">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:00.505701" elapsed="0.016292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:00.489621" elapsed="0.032508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:02.525049" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:02.524106" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:02.525926" elapsed="0.000493"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:02.525340" elapsed="0.001166"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:02.525291" elapsed="0.001272"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:02.544228" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:02.544410" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:02.544515" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:02.537003" elapsed="0.007539"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:02.544917" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:02.544622" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:02.547795" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:02.545124" elapsed="0.002808"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:02.544999" elapsed="0.002982"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:02.544602" elapsed="0.003409"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:02.548186" elapsed="0.000263"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:02.552278" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:02.548880" elapsed="0.003530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:02.548715" elapsed="0.003804">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:02.548528" elapsed="0.004078">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:02.536412" elapsed="0.016335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:02.523068" elapsed="0.029813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:04.555835" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:04.554876" elapsed="0.001032"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:04.556840" elapsed="0.000538"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:04.556098" elapsed="0.001378"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:04.556050" elapsed="0.001485"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:04.574258" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:04.574465" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:04.574634" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:04.566615" elapsed="0.008045"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:04.575159" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:04.574742" elapsed="0.000498"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:04.578403" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:04.575475" elapsed="0.003003"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:04.575275" elapsed="0.003252"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:04.574722" elapsed="0.003835"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:04.578733" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:04.582531" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:04.579449" elapsed="0.003190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:04.579241" elapsed="0.003502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:04.579052" elapsed="0.003778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:04.566172" elapsed="0.016801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:04.553877" elapsed="0.029231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:06.586753" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:06.585681" elapsed="0.001146"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:06.587661" elapsed="0.000476"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:06.587030" elapsed="0.001197"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:06.586978" elapsed="0.001325"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:06.605951" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:06.606129" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:06.606252" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:06.598428" elapsed="0.007852"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:06.606727" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:06.606400" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:06.609063" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:06.606947" elapsed="0.002168"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:06.606813" elapsed="0.002336"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:06.606375" elapsed="0.002797"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:06.609296" elapsed="0.000194"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:06.611976" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:06.609814" elapsed="0.002246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:06.609688" elapsed="0.002447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:06.609549" elapsed="0.002649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:06.597985" elapsed="0.014320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:06.584316" elapsed="0.028104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:08.616019" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:08.614939" elapsed="0.001153"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:08.616917" elapsed="0.000516"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:08.616289" elapsed="0.001237"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:08.616238" elapsed="0.001348"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:08.635174" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:08.635462" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:08.635610" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:08.627408" elapsed="0.008240"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:08.636207" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:08.635761" elapsed="0.000559"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:08.639630" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:08.636574" elapsed="0.003129"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:08.636383" elapsed="0.003370"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:08.635733" elapsed="0.004050"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:08.639981" elapsed="0.000271"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:08.643907" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:08.640735" elapsed="0.003258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:08.640564" elapsed="0.003521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:08.640368" elapsed="0.003784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:08.626950" elapsed="0.017316">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:08.613671" elapsed="0.030772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:10.647266" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:10.646382" elapsed="0.000954"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:10.648134" elapsed="0.000511"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:10.647556" elapsed="0.001179"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:10.647507" elapsed="0.001296"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:10.666617" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:10.666829" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:10.666967" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:10.658378" elapsed="0.008626"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:10.667544" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:10.667116" elapsed="0.000509"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:10.670797" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:10.667854" elapsed="0.003016"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:10.667660" elapsed="0.003259"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:10.667089" elapsed="0.003860"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:10.671122" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:10.674903" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:10.671815" elapsed="0.003200">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:10.671647" elapsed="0.003478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:10.671462" elapsed="0.003753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:10.657942" elapsed="0.017503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:10.645410" elapsed="0.030174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:12.678634" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:12.677650" elapsed="0.001059"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:13:12.679600" elapsed="0.000423"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:12.678904" elapsed="0.001180"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:12.678854" elapsed="0.001274"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:12.696829" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:12.697026" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:12.697180" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:12.689320" elapsed="0.007899"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:12.697817" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:12.697334" elapsed="0.000566"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:12.701030" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:12.698131" elapsed="0.002971"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:12.697936" elapsed="0.003214"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:12.697306" elapsed="0.003874"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:12.701376" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:12.705152" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:12.702076" elapsed="0.003187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:13:12.701906" elapsed="0.003482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:12.701718" elapsed="0.003840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:12.688884" elapsed="0.016829">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:12.676629" elapsed="0.029222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-08-22T23:13:12.705984" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-22T23:11:41.189426" elapsed="91.516724">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:12.706425" elapsed="0.000032"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:12.707655" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:13:12.967366" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:13:12.967844" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:13:12.967956" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:13:12.968052" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:12.707357" elapsed="0.260748"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:12.969440" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:12.968681" elapsed="0.000860"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:12.970252" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:13:13.283925" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:13:13.284293" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:13:13.284440" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:13:13.284538" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:12.969868" elapsed="0.314724"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.285578" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:13:13.349775" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:13:13.350043" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:13:13.350141" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:13:13.350230" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:13.285082" elapsed="0.065352"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.351053" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:13:13.404029" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:13.350822" elapsed="0.053362"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:13.426118" level="INFO">DELETE Request : url=http://10.30.171.114: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=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:13.426231" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:13.426505" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:13.404621" elapsed="0.021947"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:13.434331" level="INFO">DELETE Request : url=http://10.30.171.114: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=node01cj5gsod2oms81ivkxrt3yloz71.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:13.434576" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:13:13.434741" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:13.426964" elapsed="0.007824"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:13:12.706897" elapsed="0.728033"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-22T23:11:40.286928" elapsed="93.148081">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQClsUQcwi13p8ZtX3DgjKkd3g4oSCxlR16o9ymGeoPz2GBUFOEvoywsUDj3osF3/kNlqHV1RDzIlchb0weMoZPlSz+hzHd5+vjsHYHeV/x31P9VbWmJpy/1vIPKp5bCSDDMeTOggPJQYApmEi+rWksiUwqm2/nFKnnhH1394B9HG711yCdl5ssZGChVarbFqoguRoYLVQE0C1wvKx8rAYd3TLX/jUAWYnWxBS9mii8Oi4fEYCIyVzXvR2SmnFkpMPnIsiKyW9E2/bR0v9sGuTiMK8475h0kgEdTUQqTMT4Z6IZfP+rgkSzSI0H0ChvyMWvtyEjWFciS3yx53RfuANbT","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t3" name="CallHome over SSH with correct global credentials" line="53">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:13.437177" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cdee7750&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:13:13.436814" elapsed="0.000637"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.437799" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:13:13.451682" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:13.437662" elapsed="0.014150"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.452429" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:13:13.620780" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:13.452147" elapsed="0.168904"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.621948" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:13:13.672251" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:13:13.672550" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxU...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:13.621581" elapsed="0.051030"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:13:13.682412" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxU...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:13:13.673000" elapsed="0.009532"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:13:13.436434" elapsed="0.246400"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.714645" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:13:13.683549" elapsed="0.031323"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.723313" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:13:13.715219" elapsed="0.008199"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-22T23:13:13.683233" elapsed="0.040275"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:13:13.724456" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:13:13.724665" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:13:13.724200" elapsed="0.000502"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:13:13.725258" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:13:13.724904" elapsed="0.000389"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:13:13.725833" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:13:13.725515" elapsed="0.000354"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:13.752815" level="INFO">PUT Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '79', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
 
 </msg>
<msg time="2026-08-22T23:13:13.752962" level="INFO">PUT Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:13:13 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:13.753244" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:13.726070" elapsed="0.027238"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:13.753830" elapsed="0.003732"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-08-22T23:13:13.723759" elapsed="0.033900"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:13:13.766777" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:13:13.766949" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:13:13.766614" elapsed="0.000362"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:13:13.767508" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:13:13.767135" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:13.766319" elapsed="0.001289"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:13.762935" elapsed="0.004697"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:13:13.767812" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:13.767662" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:13.762900" elapsed="0.004981"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:13:13.768286" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:13:13.768017" elapsed="0.000298"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:13:13.768707" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:13:13.768477" elapsed="0.000257"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:13:13.769098" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:13:13.768873" elapsed="0.000311"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:13:13.769607" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ay...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:13:13.769363" elapsed="0.000272"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:13.783644" level="INFO">POST Request : url=http://10.30.171.114: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=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:13:13.783773" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:13.783984" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:13.769772" elapsed="0.014269"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:13.784455" elapsed="0.004988"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:13:13.758071" elapsed="0.031520"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:13:13.790390" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-22T23:13:14.057203" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:13:14.057628" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:13:14.057731" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:13:14.057825" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:13:13.789916" elapsed="0.267963"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:14.061747" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:14.060883" 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="NOT RUN" start="2026-08-22T23:13:14.062597" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:14.061994" elapsed="0.000733"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:14.061942" elapsed="0.000844"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:14.079718" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:14.079901" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:14.080012" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:14.072605" elapsed="0.007434"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:14.080432" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:14.080118" elapsed="0.000372"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:14.082678" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:14.080639" elapsed="0.002148"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:14.080515" elapsed="0.002307"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:14.080099" elapsed="0.002745"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:14.083000" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:14.083527" elapsed="0.002831"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:14.083404" elapsed="0.003014"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:14.089706" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:14.086701" elapsed="0.003117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:14.086535" elapsed="0.003389">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:14.083240" elapsed="0.006767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:14.072166" elapsed="0.017988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:14.060040" elapsed="0.030248">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:16.093520" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:16.092375" elapsed="0.001221"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:16.094401" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:16.093795" elapsed="0.000758"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:16.093744" elapsed="0.000871"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:16.112258" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:16.112458" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:16.112563" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:16.104376" elapsed="0.008270"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:16.113101" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:16.112730" elapsed="0.000463"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:16.116635" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:16.113432" elapsed="0.003279"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:16.113228" elapsed="0.003535"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:16.112710" elapsed="0.004083"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:16.116990" elapsed="0.000249"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:16.117700" elapsed="0.003074"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:16.117530" elapsed="0.003304"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:16.124182" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:16.121139" elapsed="0.003128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:16.120961" elapsed="0.003396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:16.117319" elapsed="0.007102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:16.103912" elapsed="0.020615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:16.091294" elapsed="0.033329">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:18.127498" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:18.126555" elapsed="0.001014"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:18.128317" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:18.127759" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:18.127710" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:18.146063" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:18.146295" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:18.146427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:18.138841" elapsed="0.007626"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:18.146850" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:18.146551" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:18.149319" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:18.147061" elapsed="0.002409"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:18.146932" elapsed="0.002617"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:18.146531" elapsed="0.003065"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:18.149900" elapsed="0.000393"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:18.151146" elapsed="0.002974"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:18.150845" elapsed="0.003333"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:18.157591" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:18.154503" elapsed="0.003191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:18.154292" elapsed="0.003502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:18.150509" elapsed="0.007370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:18.138119" elapsed="0.019903">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:18.125583" elapsed="0.032574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:20.161015" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:20.160080" elapsed="0.001027"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:20.162100" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:20.161515" elapsed="0.000718"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:20.161461" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:20.178599" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:20.178827" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:20.178944" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:20.171223" elapsed="0.007747"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:20.179363" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:20.179051" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:20.181781" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:20.179579" elapsed="0.002271"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:20.179447" elapsed="0.002439"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:20.179032" elapsed="0.002877"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:20.182036" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:20.182760" elapsed="0.003136"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:20.182594" elapsed="0.003377"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:20.189592" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:20.186324" elapsed="0.003378">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:20.186119" elapsed="0.003688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:20.182404" elapsed="0.007488">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:20.170794" elapsed="0.019241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:20.159115" elapsed="0.031113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:22.193289" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:22.192239" elapsed="0.001165"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:22.194194" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:22.193603" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:22.193553" elapsed="0.000862"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:22.212030" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:22.212252" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:22.212436" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:22.204521" elapsed="0.007959"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:22.213039" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:22.212602" elapsed="0.000518"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:22.218274" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:22.213327" elapsed="0.005040"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:22.213154" elapsed="0.005266"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:22.212572" elapsed="0.005878"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:22.218626" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:22.219296" elapsed="0.003030"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:22.219126" elapsed="0.003277"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:22.225687" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:22.222686" elapsed="0.003107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:22.222520" elapsed="0.003374">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:22.218943" elapsed="0.007034">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:22.204054" elapsed="0.022127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:22.191169" elapsed="0.035147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:24.229287" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:24.228242" elapsed="0.001154"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:24.230214" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:24.229596" elapsed="0.000783"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:24.229545" elapsed="0.000893"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:24.248928" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:24.249141" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:24.249276" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:24.241273" elapsed="0.008038"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:24.249907" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:24.249453" elapsed="0.000537"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:24.253105" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:24.250203" elapsed="0.002975"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:24.250025" elapsed="0.003202"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:24.249426" elapsed="0.003832"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:24.253452" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:24.254162" elapsed="0.002977"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:24.253994" elapsed="0.003207"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:24.260513" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:24.257504" elapsed="0.003117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:24.257316" elapsed="0.003406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:24.253773" elapsed="0.007097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:24.240851" elapsed="0.020165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:24.227262" elapsed="0.033890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:26.263906" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:26.262975" elapsed="0.001001"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:26.264792" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:26.264168" elapsed="0.000760"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:26.264120" elapsed="0.000864"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:26.285447" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:26.285618" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:26.285738" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:26.277822" elapsed="0.007942"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:26.286177" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:26.285857" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:26.288496" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:26.286404" elapsed="0.002144"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:26.286261" elapsed="0.002322"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:26.285834" elapsed="0.002770"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:26.288729" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:26.289219" elapsed="0.002266"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:26.289094" elapsed="0.002436"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:26.294601" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:26.291737" elapsed="0.002972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:26.291615" elapsed="0.003270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:26.288959" elapsed="0.006012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:26.277290" elapsed="0.017842">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:26.262054" elapsed="0.033217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:28.298831" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:28.297815" elapsed="0.001090"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:28.299722" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:28.299119" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:28.299067" elapsed="0.000846"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:28.317980" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:28.318169" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:28.318276" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:28.310020" elapsed="0.008289"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:28.318709" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:28.318415" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:28.320964" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:28.318917" elapsed="0.002125"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:28.318791" elapsed="0.002297"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:28.318395" elapsed="0.002714"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:28.321246" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:28.321999" elapsed="0.003251"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:28.321834" elapsed="0.003475"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:28.328654" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:28.325624" elapsed="0.003241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:28.325455" elapsed="0.003516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:28.321647" elapsed="0.007411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:28.309431" elapsed="0.019771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:28.296647" elapsed="0.032720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:30.332846" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:30.331717" elapsed="0.001248"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:30.333821" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:30.333190" elapsed="0.000773"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:30.333135" elapsed="0.000912"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:30.352332" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:30.352551" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:30.352662" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:30.344100" elapsed="0.008589"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:30.353099" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:30.352773" elapsed="0.000389"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:30.355469" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:30.353316" elapsed="0.002208"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:30.353186" elapsed="0.002374"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:30.352752" elapsed="0.002831"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:30.355728" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:30.356326" elapsed="0.002263"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:30.356202" elapsed="0.002431"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:30.361838" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:30.358855" elapsed="0.003095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:30.358730" elapsed="0.003328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:30.356059" elapsed="0.006086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:30.343509" elapsed="0.018781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:30.330485" elapsed="0.031984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:32.365771" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:32.364762" elapsed="0.001088"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:32.366687" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:32.366060" elapsed="0.000758"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:32.366008" elapsed="0.000868"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:32.388382" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:32.388670" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:32.388831" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:32.379779" elapsed="0.009082"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:32.389544" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:32.388992" elapsed="0.000616"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:32.391940" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:32.389777" elapsed="0.002218"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:32.389639" elapsed="0.002390"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:32.388953" elapsed="0.003098"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:32.392198" elapsed="0.000214"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:32.392791" elapsed="0.002195"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:32.392644" elapsed="0.002386"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:32.397473" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:32.395239" elapsed="0.002340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:32.395116" elapsed="0.002551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:32.392484" elapsed="0.005247">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:32.378973" elapsed="0.018879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:32.363655" elapsed="0.034300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:34.401393" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:34.400199" elapsed="0.001289"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:34.402479" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:34.401753" elapsed="0.000874"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:34.401676" elapsed="0.001012"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:34.419945" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:34.420288" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:34.420489" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:34.412497" elapsed="0.008048"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:34.421121" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:34.420664" elapsed="0.000552"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:34.424566" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:34.421472" elapsed="0.003176"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:34.421252" elapsed="0.003474"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:34.420635" elapsed="0.004129"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:34.424949" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:34.425742" elapsed="0.003614"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:34.425550" elapsed="0.003883"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:34.432269" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:34.429768" elapsed="0.002603">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:34.429596" elapsed="0.002853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:34.425312" elapsed="0.007198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:34.412010" elapsed="0.020641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:34.398980" elapsed="0.033780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:36.435669" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:36.434700" elapsed="0.001045"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:36.436859" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:36.436184" elapsed="0.000814"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:36.436129" elapsed="0.000928"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:36.455874" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:36.456049" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:36.456150" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:36.448465" elapsed="0.007728"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:36.456661" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:36.456275" elapsed="0.000477"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:36.459913" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:36.456981" elapsed="0.003006"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:36.456788" elapsed="0.003248"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:36.456256" elapsed="0.003809"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:36.460259" elapsed="0.000268"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:36.460978" elapsed="0.003022"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:36.460808" elapsed="0.003250"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:36.466597" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:36.464407" elapsed="0.002271">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:36.464209" elapsed="0.002545">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:36.460609" elapsed="0.006207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:36.447986" elapsed="0.018947">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:36.433696" elapsed="0.033373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:38.469968" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:38.469006" elapsed="0.001035"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:38.470840" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:38.470240" elapsed="0.000754"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:38.470189" elapsed="0.000865"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:38.489258" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:38.489443" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:38.489596" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:38.482587" elapsed="0.007046"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:38.490161" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:38.489751" elapsed="0.000491"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:38.493468" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:38.490471" elapsed="0.003074"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:38.490277" elapsed="0.003316"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:38.489718" elapsed="0.003905"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:38.493796" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:38.494486" elapsed="0.003002"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:38.494299" elapsed="0.003246"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:38.500472" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:38.497828" elapsed="0.002724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:38.497660" elapsed="0.002967">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:38.494114" elapsed="0.006572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:38.482141" elapsed="0.018713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:38.467998" elapsed="0.032955">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:40.503834" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:40.502885" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:40.504696" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:40.504101" elapsed="0.000728"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:40.504051" elapsed="0.000836"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:40.521993" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:40.522179" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:40.522281" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:40.514627" elapsed="0.007680"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:40.522848" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:40.522412" elapsed="0.000522"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:40.526569" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:40.523162" elapsed="0.003485"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:40.522972" elapsed="0.003726"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:40.522391" elapsed="0.004339"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:40.526913" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:40.527656" elapsed="0.003250"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:40.527474" elapsed="0.003493"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:40.534515" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:40.531266" elapsed="0.003339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:40.531090" elapsed="0.003598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:40.527251" elapsed="0.007563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:40.514180" elapsed="0.020753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:40.501929" elapsed="0.033107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:42.538076" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:42.537107" elapsed="0.001040"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:42.538940" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:42.538371" elapsed="0.000747"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:42.538291" elapsed="0.000885"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:42.557026" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:42.557191" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:42.557289" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:42.549982" elapsed="0.007334"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:42.557711" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:42.557419" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:42.559981" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:42.557914" elapsed="0.002119"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:42.557791" elapsed="0.002277"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:42.557398" elapsed="0.002691"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:42.560218" elapsed="0.000192"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:42.560727" elapsed="0.002129"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:42.560608" elapsed="0.002289"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:42.565912" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:42.563131" elapsed="0.002887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:42.563008" elapsed="0.003183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:42.560469" elapsed="0.005809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:42.549393" elapsed="0.017050">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:42.536068" elapsed="0.030512">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:44.569743" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:44.568703" elapsed="0.001114"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:44.570627" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:44.570021" elapsed="0.000741"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:44.569971" elapsed="0.000912"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:44.589063" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:44.589241" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:44.589373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:44.580815" elapsed="0.008585"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:44.589774" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:44.589481" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:44.592076" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:44.589994" elapsed="0.002134"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:44.589855" elapsed="0.002308"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:44.589462" elapsed="0.002723"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:44.592310" elapsed="0.000193"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:44.592823" elapsed="0.002152"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:44.592703" elapsed="0.002315"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:44.597365" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:44.595221" elapsed="0.002278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:44.595102" elapsed="0.002475">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:44.592564" elapsed="0.005074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:44.580111" elapsed="0.017632">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:44.567623" elapsed="0.030215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:46.600838" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:46.599822" elapsed="0.001086"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:46.602041" elapsed="0.000141"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:46.601099" elapsed="0.001174"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:46.601052" elapsed="0.001280"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:46.620587" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:46.620807" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:46.620943" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:46.612404" elapsed="0.008575"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:46.621511" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:46.621089" elapsed="0.000501"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:46.624940" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:46.621804" elapsed="0.003209"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:46.621625" elapsed="0.003436"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:46.621062" elapsed="0.004029"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:46.625263" elapsed="0.000325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:46.626023" elapsed="0.002949"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:46.625859" elapsed="0.003155"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:46.631379" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:46.629216" elapsed="0.002246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:46.629098" elapsed="0.002438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:46.625675" elapsed="0.005921">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:46.611950" elapsed="0.019753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:46.598809" elapsed="0.032987">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:48.634849" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:48.633864" elapsed="0.001064"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:48.635766" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:48.635208" elapsed="0.000639"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:48.635079" elapsed="0.000806"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:48.652959" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:48.653148" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:48.653248" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:48.645216" elapsed="0.008059"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:48.653741" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:48.653374" elapsed="0.000425"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:48.656019" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:48.653949" elapsed="0.002121"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:48.653824" elapsed="0.002281"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:48.653334" elapsed="0.002793"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:48.656252" elapsed="0.000194"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:48.656772" elapsed="0.002126"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:48.656650" elapsed="0.002289"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:48.662156" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:48.659175" elapsed="0.003104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:48.659020" elapsed="0.003387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:48.656507" elapsed="0.005986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:48.644628" elapsed="0.018009">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:48.632830" elapsed="0.029952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:50.665610" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:50.664644" elapsed="0.001036"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:50.666560" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:50.665869" elapsed="0.000825"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:50.665822" elapsed="0.000927"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:50.684707" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:50.684913" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:50.685023" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:50.676919" elapsed="0.008131"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:50.685448" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:50.685131" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:50.687694" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:50.685655" elapsed="0.002095"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:50.685530" elapsed="0.002255"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:50.685111" elapsed="0.002694"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:50.687929" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:50.688426" elapsed="0.002134"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:50.688290" elapsed="0.002311"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:50.692937" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:50.690807" elapsed="0.002208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:50.690684" elapsed="0.002404">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:50.688157" elapsed="0.004990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:50.676304" elapsed="0.016945">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:50.663712" elapsed="0.029646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:52.696577" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:52.695625" elapsed="0.001025"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:52.697629" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:52.697000" elapsed="0.000763"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:52.696949" elapsed="0.000872"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:52.717430" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:52.717599" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:52.717697" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:52.709879" elapsed="0.007844"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:52.718247" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:52.717835" elapsed="0.000491"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:52.721687" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:52.718562" elapsed="0.003196"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:52.718382" elapsed="0.003426"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:52.717809" elapsed="0.004028"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:52.722009" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:52.722696" elapsed="0.002968"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:52.722530" elapsed="0.003191"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:52.728756" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:52.726013" elapsed="0.002825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:52.725846" elapsed="0.003066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:52.722324" elapsed="0.006654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:52.709456" elapsed="0.019632">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:52.694580" elapsed="0.034646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:54.732070" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:54.731116" elapsed="0.001025"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:54.733286" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:54.732335" elapsed="0.001133"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:54.732287" elapsed="0.001239"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:54.751782" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:54.752009" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:54.752151" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:54.744732" elapsed="0.007456"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:54.752818" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:54.752304" elapsed="0.000603"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:54.756206" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:54.753124" elapsed="0.003157"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:54.752943" elapsed="0.003389"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:54.752276" elapsed="0.004109"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:54.756570" elapsed="0.000276"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:54.757307" elapsed="0.003190"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:54.757131" elapsed="0.003426"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:54.763308" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:54.760903" elapsed="0.002502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:54.760720" elapsed="0.002762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:54.756932" elapsed="0.006609">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:54.744269" elapsed="0.019435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:54.730150" elapsed="0.033651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:56.767425" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:56.766157" elapsed="0.001357"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:13:56.768473" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:56.767771" elapsed="0.000844"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:56.767706" elapsed="0.000969"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:56.787661" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:56.787900" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:56.788059" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:56.779450" elapsed="0.008647"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:56.788683" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:56.788231" elapsed="0.000533"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:56.792650" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:56.788974" elapsed="0.003827"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:56.788799" elapsed="0.004052"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:56.788191" elapsed="0.004691"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:56.793131" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:56.793941" elapsed="0.003250"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:56.793769" elapsed="0.003554"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:56.801061" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:56.797711" elapsed="0.003461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:56.797468" elapsed="0.003807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:56.793570" elapsed="0.007894">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:56.778973" elapsed="0.022644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:56.764926" elapsed="0.036857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:13:58.804681" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:13:58.803733" 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-08-22T23:13:58.805567" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:58.804946" elapsed="0.000754"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:58.804898" elapsed="0.000857"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:13:58.822297" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:13:58.822505" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:13:58.822606" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:13:58.815335" elapsed="0.007296"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:13:58.823249" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:13:58.822710" elapsed="0.000699"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:13:58.830036" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:13:58.823751" elapsed="0.006361"/>
</kw>
<status status="PASS" start="2026-08-22T23:13:58.823465" elapsed="0.006696"/>
</branch>
<status status="PASS" start="2026-08-22T23:13:58.822691" elapsed="0.007499"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:13:58.830390" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:13:58.831065" elapsed="0.002967"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:13:58.830899" elapsed="0.003190"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:13:58.837407" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:13:58.834426" elapsed="0.003091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:13:58.834226" elapsed="0.003454">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:13:58.830712" elapsed="0.007083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:13:58.814909" elapsed="0.023040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:13:58.802734" elapsed="0.035346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:00.841646" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:00.840067" elapsed="0.001679"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:00.842671" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:00.841981" elapsed="0.000831"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:00.841927" elapsed="0.000943"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:00.859820" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:00.860009" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:00.860116" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:00.853000" 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-08-22T23:14:00.860591" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:00.860233" elapsed="0.000416"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:00.862865" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:00.860803" elapsed="0.002114"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:00.860675" elapsed="0.002276"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:00.860210" elapsed="0.002762"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:00.863096" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:00.863614" elapsed="0.002128"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:00.863487" elapsed="0.002296"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:00.868108" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:00.865984" elapsed="0.002279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:00.865865" elapsed="0.002510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:00.863332" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:00.852559" elapsed="0.016006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:00.839060" elapsed="0.029633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:02.871923" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:02.870912" 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="NOT RUN" start="2026-08-22T23:14:02.872831" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:02.872195" elapsed="0.000779"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:02.872144" elapsed="0.000929"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:02.918941" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:02.919111" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:02.919234" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:02.910142" elapsed="0.009119"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:02.919735" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:02.919389" elapsed="0.000404"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:02.923432" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:02.919943" elapsed="0.003608"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:02.919820" elapsed="0.003810"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:02.919361" elapsed="0.004317"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:02.923981" elapsed="0.000528"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:02.925243" elapsed="0.004848"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:02.924972" elapsed="0.005211"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:02.934255" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:02.930667" elapsed="0.003667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:02.930399" elapsed="0.004026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:02.924673" elapsed="0.009813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:02.909591" elapsed="0.025001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:02.869890" elapsed="0.064799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:04.937710" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:04.936671" elapsed="0.001116"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:04.938621" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:04.937992" elapsed="0.000772"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:04.937940" elapsed="0.000883"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:04.957525" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:04.957814" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:04.958007" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:04.949382" elapsed="0.008664"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:04.958696" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:04.958163" elapsed="0.000619"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:04.962361" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:04.959003" elapsed="0.003433"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:04.958819" elapsed="0.003668"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:04.958135" elapsed="0.004383"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:04.962694" elapsed="0.000245"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:04.963392" elapsed="0.003001"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:04.963205" elapsed="0.003247"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:04.969739" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:04.966735" elapsed="0.003112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:04.966569" elapsed="0.003382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:04.963018" elapsed="0.007017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:04.948777" elapsed="0.021400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:04.935681" elapsed="0.034633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:06.973240" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:06.972255" elapsed="0.001058"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:06.974167" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:06.973548" elapsed="0.000757"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:06.973497" elapsed="0.000899"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:06.994883" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:06.995222" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:06.995398" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:06.985371" elapsed="0.010064"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:06.995970" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:06.995551" elapsed="0.000498"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:06.999124" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:06.996256" elapsed="0.002939"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:06.996084" elapsed="0.003160"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:06.995523" elapsed="0.003751"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:06.999466" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:07.000147" elapsed="0.002961"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:06.999980" elapsed="0.003186"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:07.006434" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:07.003464" elapsed="0.003048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:07.003279" elapsed="0.003308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:06.999790" elapsed="0.006857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:06.984928" elapsed="0.021824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:06.971246" elapsed="0.035601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:09.009767" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:09.008806" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:09.010752" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:09.010156" elapsed="0.000727"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:09.010103" elapsed="0.000838"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:09.031946" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:09.032122" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:09.032233" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:09.022055" elapsed="0.010204"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:09.032691" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:09.032359" elapsed="0.000391"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:09.037293" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:09.032898" elapsed="0.004543"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:09.032775" elapsed="0.004745"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:09.032319" elapsed="0.005249"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:09.037839" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:09.038919" elapsed="0.004847"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:09.038656" elapsed="0.005204"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:09.046933" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:09.044309" elapsed="0.002702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:09.044043" elapsed="0.003042">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:09.038334" elapsed="0.008811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:09.021456" elapsed="0.025791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:09.007791" elapsed="0.039611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:11.050479" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:11.049534" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:11.051517" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:11.050762" elapsed="0.000947"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:11.050701" elapsed="0.001091"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:11.071626" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:11.071798" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:11.071897" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:11.063645" elapsed="0.008277"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:11.072390" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:11.072001" elapsed="0.000471"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:11.075797" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:11.072680" elapsed="0.003190"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:11.072507" elapsed="0.003411"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:11.071981" elapsed="0.003968"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:11.076120" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:11.076815" elapsed="0.003011"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:11.076645" elapsed="0.003240"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:11.083105" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:11.080175" elapsed="0.003008">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:11.080001" elapsed="0.003256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:11.076460" elapsed="0.006857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:11.063192" elapsed="0.020304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:11.048504" elapsed="0.035090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:13.086465" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:13.085535" elapsed="0.001003"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:13.087285" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:13.086726" elapsed="0.000721"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:13.086678" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:13.104648" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:13.104821" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:13.104920" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:13.097000" elapsed="0.007947"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:13.105324" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:13.105024" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:13.107585" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:13.105546" elapsed="0.002123"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:13.105423" elapsed="0.002282"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:13.105006" elapsed="0.002724"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:13.107857" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:13.108502" elapsed="0.002954"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:13.108266" elapsed="0.003255"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:13.114810" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:13.111822" elapsed="0.003097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:13.111649" elapsed="0.003370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:13.108090" elapsed="0.007095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:13.096413" elapsed="0.018918">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:13.084577" elapsed="0.030913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:15.118467" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:15.117507" elapsed="0.001035"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:15.119377" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:15.118739" elapsed="0.000773"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:15.118689" elapsed="0.000880"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:15.140184" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:15.140442" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:15.140598" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:15.131321" elapsed="0.009313"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:15.141147" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:15.140744" elapsed="0.000483"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:15.144309" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:15.141457" elapsed="0.002946"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:15.141264" elapsed="0.003187"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:15.140716" elapsed="0.003765"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:15.144651" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:15.145328" elapsed="0.003062"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:15.145159" elapsed="0.003291"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:15.151726" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:15.148731" elapsed="0.003103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:15.148566" elapsed="0.003442">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:15.144972" elapsed="0.007123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:15.130874" elapsed="0.021367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:15.116498" elapsed="0.035901">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:17.155309" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:17.154377" elapsed="0.001065"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:17.156211" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:17.155640" elapsed="0.000733"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:17.155590" elapsed="0.000843"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:17.175231" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:17.175438" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:17.175539" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:17.167048" elapsed="0.008517"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:17.175937" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:17.175645" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:17.178386" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:17.176144" elapsed="0.002296"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:17.176018" elapsed="0.002456"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:17.175625" elapsed="0.002871"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:17.178619" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:17.179109" elapsed="0.002560"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:17.178989" elapsed="0.002738"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:17.184997" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:17.182007" elapsed="0.003168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:17.181842" elapsed="0.003439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:17.178852" elapsed="0.006539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:17.166458" elapsed="0.019083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:17.153333" elapsed="0.032344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:19.188853" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:19.187813" elapsed="0.001118"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:19.189762" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:19.189143" elapsed="0.000758"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:19.189091" elapsed="0.000890"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:19.209177" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:19.209415" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:19.209572" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:19.201397" elapsed="0.008212"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:19.210159" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:19.209724" elapsed="0.000519"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:19.213385" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:19.210482" elapsed="0.002977"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:19.210279" elapsed="0.003229"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:19.209695" elapsed="0.003844"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:19.213715" 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-08-22T23:14:19.214547" elapsed="0.003064"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:19.214370" elapsed="0.003300"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:19.221068" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:19.217972" elapsed="0.003207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:19.217790" elapsed="0.003493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:19.214147" elapsed="0.007267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:19.200944" elapsed="0.020587">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:19.186735" elapsed="0.034896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:21.224529" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:21.223596" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:21.225434" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:21.224815" elapsed="0.000755"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:21.224762" elapsed="0.000864"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:21.244546" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:21.244749" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:21.244891" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:21.236586" elapsed="0.008335"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:21.245500" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:21.245027" elapsed="0.000538"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:21.248176" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:21.245893" elapsed="0.002337"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:21.245594" elapsed="0.002671"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:21.244999" elapsed="0.003289"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:21.248434" elapsed="0.000199"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:21.249025" elapsed="0.002660"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:21.248875" elapsed="0.002872"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:21.255300" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:21.252086" elapsed="0.003350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:21.251871" elapsed="0.003674">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:21.248706" elapsed="0.006927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:21.235854" elapsed="0.019940">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:21.222605" elapsed="0.033333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:23.259082" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:23.258081" 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-08-22T23:14:23.260023" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:23.259392" elapsed="0.000761"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:23.259309" elapsed="0.000900"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:23.278681" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:23.278916" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:23.279018" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:23.271528" elapsed="0.007515"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:23.279451" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:23.279124" elapsed="0.000385"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:23.281876" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:23.279659" elapsed="0.002270"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:23.279533" elapsed="0.002432"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:23.279105" elapsed="0.002882"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:23.282110" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:23.282621" elapsed="0.002143"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:23.282499" elapsed="0.002305"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:23.287135" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:23.285003" elapsed="0.002211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:23.284885" elapsed="0.002403">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:23.282358" elapsed="0.005005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:23.271071" elapsed="0.016408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:23.257001" elapsed="0.030574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:25.290596" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:25.289567" elapsed="0.001103"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:25.291621" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:25.290994" elapsed="0.000769"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:25.290940" elapsed="0.000896"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:25.310619" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:25.310791" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:25.310894" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:25.302689" elapsed="0.008231"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:25.311367" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:25.311015" elapsed="0.000421"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:25.313694" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:25.311604" elapsed="0.002143"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:25.311466" elapsed="0.002315"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:25.310988" elapsed="0.002814"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:25.313926" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:25.314440" elapsed="0.003090"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:25.314301" elapsed="0.003293"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:25.320950" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:25.317882" elapsed="0.003213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:25.317714" elapsed="0.003489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:25.314162" elapsed="0.007128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:25.302209" elapsed="0.019252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:25.288567" elapsed="0.033143">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:27.324583" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:27.323628" elapsed="0.001029"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:27.325439" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:27.324847" elapsed="0.000726"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:27.324798" elapsed="0.000832"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:27.346069" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:27.346284" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:27.346468" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:27.338276" elapsed="0.008230"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:27.347028" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:27.346620" elapsed="0.000488"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:27.350220" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:27.347314" elapsed="0.002978"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:27.347142" elapsed="0.003217"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:27.346592" elapsed="0.003800"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:27.350569" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:27.351248" elapsed="0.002997"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:27.351078" elapsed="0.003225"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:27.357654" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:27.354605" elapsed="0.003157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:27.354439" elapsed="0.003426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:27.350891" elapsed="0.007058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:27.337671" elapsed="0.020583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:27.322684" elapsed="0.035732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:29.361603" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:29.360582" elapsed="0.001095"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:29.362576" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:29.361882" elapsed="0.000837"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:29.361829" elapsed="0.000948"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:29.387190" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:29.387397" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:29.387500" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:29.378473" elapsed="0.009053"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:29.387908" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:29.387607" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:29.390450" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:29.388118" elapsed="0.002386"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:29.387990" elapsed="0.002549"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:29.387588" elapsed="0.002973"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:29.390767" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:29.391520" elapsed="0.003278"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:29.391316" elapsed="0.003543"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:29.398450" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:29.395160" elapsed="0.003408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:29.394981" elapsed="0.003694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:29.391115" elapsed="0.007741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:29.377436" elapsed="0.021580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:29.359457" elapsed="0.039704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:31.402198" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:31.401195" elapsed="0.001077"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:31.403081" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:31.402506" elapsed="0.000704"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:31.402454" elapsed="0.000813"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:31.421909" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:31.422152" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:31.422294" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:31.414126" elapsed="0.008205"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:31.422986" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:31.422514" elapsed="0.000557"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:31.426399" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:31.423285" elapsed="0.003191"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:31.423106" elapsed="0.003420"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:31.422481" elapsed="0.004076"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:31.426751" elapsed="0.000277"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:31.427513" elapsed="0.003179"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:31.427311" elapsed="0.003461"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:31.434070" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:31.431094" elapsed="0.003060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:31.430921" elapsed="0.003373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:31.427116" elapsed="0.007259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:31.413677" elapsed="0.020810">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:31.400173" elapsed="0.034415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:33.437685" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:33.436704" elapsed="0.001056"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:33.438566" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:33.437964" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:33.437914" elapsed="0.000843"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:33.455992" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:33.456213" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:33.456414" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:33.448934" elapsed="0.007526"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:33.456986" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:33.456575" elapsed="0.000490"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:33.460169" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:33.457301" elapsed="0.002938"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:33.457100" elapsed="0.003187"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:33.456547" elapsed="0.003769"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:33.460508" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:33.461182" elapsed="0.002870"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:33.461015" elapsed="0.003080"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:33.466521" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:33.464297" elapsed="0.002384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:33.464178" elapsed="0.002585">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:33.460827" elapsed="0.006002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:33.448506" elapsed="0.018430">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:33.435639" elapsed="0.031395">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:35.470138" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:35.469083" elapsed="0.001140"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:35.471041" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:35.470459" elapsed="0.000735"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:35.470407" elapsed="0.000852"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:35.489101" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:35.489287" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:35.489425" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:35.482464" elapsed="0.006990"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:35.489956" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:35.489557" elapsed="0.000479"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:35.493672" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:35.490274" elapsed="0.003470"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:35.490070" elapsed="0.003725"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:35.489536" elapsed="0.004290"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:35.494000" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:35.494809" elapsed="0.003206"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:35.494634" elapsed="0.003425"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:35.500445" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:35.498267" elapsed="0.002260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:35.498144" elapsed="0.002459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:35.494423" elapsed="0.006257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:35.481981" elapsed="0.018842">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:35.468022" elapsed="0.032899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:37.504206" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:37.503207" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:37.505093" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:37.504514" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:37.504462" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:37.522810" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:37.522985" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:37.523085" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:37.515195" elapsed="0.007918"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:37.523586" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:37.523197" elapsed="0.000448"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:37.525900" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:37.523804" elapsed="0.002149"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:37.523670" elapsed="0.002318"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:37.523177" elapsed="0.002833"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:37.526136" elapsed="0.000178"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:37.526657" elapsed="0.002207"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:37.526532" elapsed="0.002377"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:37.532559" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:37.529134" elapsed="0.003540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:37.529001" elapsed="0.003787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:37.526392" elapsed="0.006482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:37.514592" elapsed="0.018428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:37.502042" elapsed="0.031114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:39.536272" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:39.535230" elapsed="0.001149"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:39.537210" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:39.536591" elapsed="0.000788"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:39.536539" elapsed="0.000903"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:39.559230" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:39.559685" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:39.559939" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:39.551110" elapsed="0.008889"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:39.560895" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:39.560188" elapsed="0.000836"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:39.566108" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:39.561389" elapsed="0.004836"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:39.561081" elapsed="0.005222"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:39.560142" elapsed="0.006238"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:39.566667" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:39.567782" elapsed="0.004288"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:39.567503" elapsed="0.004637"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:39.575490" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:39.572491" elapsed="0.003087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:39.572276" elapsed="0.003381">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:39.567175" elapsed="0.008543">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:39.550503" elapsed="0.025332">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:39.534164" elapsed="0.041771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:41.579005" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:41.577974" elapsed="0.001105"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:41.580034" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:41.579410" elapsed="0.000762"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:41.579327" elapsed="0.000901"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:41.597864" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:41.598116" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:41.598261" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:41.590870" elapsed="0.007431"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:41.598885" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:41.598470" elapsed="0.000496"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:41.602229" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:41.599182" elapsed="0.003121"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:41.599002" elapsed="0.003380"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:41.598434" elapsed="0.003982"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:41.602622" elapsed="0.000262"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:41.603337" elapsed="0.003409"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:41.603163" elapsed="0.003650"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:41.610228" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:41.607105" elapsed="0.003253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:41.606935" elapsed="0.003531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:41.602969" elapsed="0.007585">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:41.590438" elapsed="0.020265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:41.576940" elapsed="0.033971">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:43.614240" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:43.613263" elapsed="0.001050"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:43.615167" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:43.614586" elapsed="0.000718"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:43.614531" elapsed="0.000861"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:43.634695" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:43.634858" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:43.634957" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:43.627353" elapsed="0.007630"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:43.635372" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:43.635064" elapsed="0.000366"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:43.637637" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:43.635581" elapsed="0.002107"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:43.635454" elapsed="0.002270"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:43.635044" elapsed="0.002702"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:43.637870" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:43.638375" elapsed="0.002128"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:43.638237" elapsed="0.002401"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:43.644262" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:43.641126" elapsed="0.003267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:43.640879" elapsed="0.003619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:43.638102" elapsed="0.006516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:43.626910" elapsed="0.017956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:43.612182" elapsed="0.032857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:45.647918" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:45.646985" elapsed="0.001003"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:45.648771" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:45.648180" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:45.648130" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:45.666607" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:45.666769" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:45.666879" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:45.658885" elapsed="0.008024"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:45.667279" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:45.666988" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:45.669575" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:45.667503" elapsed="0.002125"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:45.667378" elapsed="0.002285"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:45.666969" elapsed="0.002716"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:45.669809" elapsed="0.000217"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:45.670479" elapsed="0.003045"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:14:45.670288" elapsed="0.003297"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:45.676880" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:45.673877" elapsed="0.003107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-22T23:14:45.673705" elapsed="0.003380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:45.670105" elapsed="0.007149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:45.658279" elapsed="0.019144">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:45.646052" elapsed="0.031508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-08-22T23:14:45.677686" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-22T23:13:14.058438" elapsed="91.619396">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:14:45.678088" elapsed="0.000031"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:45.679262" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:14:45.946164" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:14:45.946505" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:14:45.946613" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:14:45.946710" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:45.679010" elapsed="0.267752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:45.947760" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:45.947132" elapsed="0.000724"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:45.948580" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:14:46.251128" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:14:46.251591" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:14:46.251697" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:14:46.251799" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:45.948162" elapsed="0.303693"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.252944" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:14:46.312088" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:14:46.312451" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:14:46.312594" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:14:46.312693" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:46.252463" elapsed="0.060284"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.313489" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:14:46.365904" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:46.313169" elapsed="0.052875"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:46.380971" level="INFO">DELETE Request : url=http://10.30.171.114: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=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:46.381197" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:46.381444" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:46.366394" elapsed="0.015122"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:46.389377" level="INFO">DELETE Request : url=http://10.30.171.114: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=node016rtua1jqoorbv7yzfd543ghu2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:46.389731" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:14:46.389981" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:46.381846" elapsed="0.008182"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:14:45.678571" elapsed="0.711568"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-08-22T23:13:13.435510" elapsed="92.954717">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC1gUL3sUztiJ2OjjSmz7fxppXyNjDbkldGN/sv+knqGQhzDDANQ2kkezNcq/ayn6SuDaFX/4S43FQ87fYjXTtuPg2wlLKbDB51BOcy4EQaV8HHf9Q9yRp/efP7RBWao4aS/eXwNWIlENfsbTUl2igywvaqjkKAA2EW4De/GAxUgQlREIkelMTBN6c2VdTJ7F6hxhDknSonnWvVJc2i9NxsK7IykMnpngjLW3SGpJ1GIW5aTiNpn/n/0rjc73S6A0dedQCf+ZfLpUp4TYEdOn2U5PiawywuuNUpBE4rJD3+wEukEjbdwsgYR3ehZkpWTPR9+FnnTsCwo6Handdp1SZr"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t4" name="CallHome over SSH with incorrect global credentials" line="71">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:46.392321" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cdead610&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:14:46.391949" elapsed="0.000733"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.393017" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:14:46.418065" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:46.392882" elapsed="0.025410"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.419093" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:14:46.783114" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:46.418766" elapsed="0.364632"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.784188" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:14:46.838435" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:14:46.838735" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+m...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:46.783875" elapsed="0.054922"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:14:46.848161" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+m...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:14:46.839254" elapsed="0.008978"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:14:46.391573" elapsed="0.456754"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.887219" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:14:46.849068" elapsed="0.038443"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.896716" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:14:46.887969" elapsed="0.008835"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-22T23:14:46.848646" elapsed="0.048267"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:14:46.898170" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:14:46.898398" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:14:46.897921" elapsed="0.000516"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:14:46.899002" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:14:46.898652" elapsed="0.000392"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:14:46.899590" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:14:46.899246" elapsed="0.000380"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:46.913087" level="INFO">PUT Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '84', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
 
 </msg>
<msg time="2026-08-22T23:14:46.913205" level="INFO">PUT Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:14:46 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:46.913509" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:46.899812" elapsed="0.013761"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:46.913926" elapsed="0.005039"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-08-22T23:14:46.897252" elapsed="0.021877"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:14:46.928260" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:14:46.928406" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:14:46.928108" elapsed="0.000325"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:14:46.928943" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:14:46.928595" elapsed="0.000398"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:46.927825" elapsed="0.001230"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:46.924499" elapsed="0.004579"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:14:46.929259" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:46.929110" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:46.924471" elapsed="0.004859"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:14:46.929738" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:14:46.929495" elapsed="0.000271"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:14:46.930146" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:14:46.929908" elapsed="0.000265"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:14:46.930561" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:14:46.930315" elapsed="0.000272"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:14:46.930953" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqW...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:14:46.930728" elapsed="0.000254"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:46.939782" level="INFO">POST Request : url=http://10.30.171.114: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=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:14:46.939867" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:46.939957" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:46.931152" elapsed="0.008832"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:14:46.940142" elapsed="0.002615"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:14:46.919730" elapsed="0.023171"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:14:46.943666" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-22T23:14:47.209517" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:14:47.209882" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:14:47.209994" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:14:47.210090" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:14:46.943239" elapsed="0.266903"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:47.213857" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:47.213230" elapsed="0.000669"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:47.214459" elapsed="0.000331"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:47.214021" elapsed="0.000832"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:47.213986" elapsed="0.000907"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:47.235754" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:47.236009" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:47.236194" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:47.228628" elapsed="0.007603"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:47.236947" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:47.236429" elapsed="0.000602"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:47.240233" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:47.237247" elapsed="0.003059"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:47.237067" elapsed="0.003310"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:47.236384" elapsed="0.004025"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:47.240625" elapsed="0.000263"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:47.244537" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:47.241378" elapsed="0.003330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:47.241174" elapsed="0.003769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:47.240975" elapsed="0.004086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:47.227936" elapsed="0.017251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:47.212281" elapsed="0.033005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:49.248291" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:49.247267" elapsed="0.001131"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:49.249182" elapsed="0.000524"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:49.248598" elapsed="0.001199"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:49.248546" elapsed="0.001308"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:49.268137" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:49.268515" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:49.268758" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:49.260000" elapsed="0.008819"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:49.269798" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:49.269013" elapsed="0.000929"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:49.275718" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:49.270313" elapsed="0.005540"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:49.270003" elapsed="0.005935"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:49.268966" elapsed="0.007031"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:49.276218" elapsed="0.000193"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:49.279136" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:49.276740" elapsed="0.002539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:49.276614" elapsed="0.002765">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:49.276473" elapsed="0.002973">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:49.259369" elapsed="0.020187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:49.246232" elapsed="0.033435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:51.284085" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:51.283045" elapsed="0.001096"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:51.284675" elapsed="0.000295"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:51.284289" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:51.284250" elapsed="0.000811"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:51.302469" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:51.302646" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:51.302750" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:51.294379" elapsed="0.008398"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:51.303147" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:51.302856" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:51.305464" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:51.303370" elapsed="0.002147"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:51.303229" elapsed="0.002324"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:51.302837" elapsed="0.002738"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:51.305784" elapsed="0.000178"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:51.309160" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:51.306286" elapsed="0.002981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:51.306160" elapsed="0.003230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:51.306022" elapsed="0.003457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:51.293754" elapsed="0.015869">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:51.282053" elapsed="0.027705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:53.312798" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:53.311801" elapsed="0.001074"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:53.313704" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:53.313071" elapsed="0.001201"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:53.313021" elapsed="0.001310"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:53.331478" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:53.331648" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:53.331759" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:53.325135" elapsed="0.006651"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:53.332167" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:53.331867" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:53.334545" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:53.332475" elapsed="0.002124"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:53.332306" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:53.331847" elapsed="0.002811"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:53.334785" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:53.338037" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:53.335280" elapsed="0.002897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:53.335154" elapsed="0.003147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:53.335019" elapsed="0.003401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:53.324539" elapsed="0.014088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:53.310781" elapsed="0.027996">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:55.341901" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:55.340905" elapsed="0.001067"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:55.342816" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:55.342176" elapsed="0.001239"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:55.342122" elapsed="0.001352"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:55.360823" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:55.361002" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:55.361207" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:55.354045" elapsed="0.007209"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:55.361852" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:55.361412" elapsed="0.000521"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:55.365033" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:55.362146" elapsed="0.002960"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:55.361968" elapsed="0.003187"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:55.361384" elapsed="0.003801"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:55.365378" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:55.369565" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:55.366077" elapsed="0.003650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:55.365911" elapsed="0.003929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:55.365722" elapsed="0.004207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:55.353585" elapsed="0.016495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:55.339899" elapsed="0.030348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:57.372103" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:57.371650" elapsed="0.000490"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:57.372975" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:57.372375" elapsed="0.001218"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:57.372291" elapsed="0.001362"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:57.391084" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:57.391334" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:57.391476" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:57.383871" elapsed="0.007631"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:57.391888" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:57.391584" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:57.394192" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:57.392097" elapsed="0.002147"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:57.391970" elapsed="0.002309"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:57.391565" elapsed="0.002736"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:57.394441" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:57.397579" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:57.394934" elapsed="0.002754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:57.394813" elapsed="0.002978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:57.394674" elapsed="0.003203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:57.383251" elapsed="0.014769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:57.371083" elapsed="0.027087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:14:59.401161" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:14:59.400146" elapsed="0.001090"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:14:59.402086" elapsed="0.000628"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:59.401508" elapsed="0.001302"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:59.401454" elapsed="0.001416"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:14:59.420927" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:14:59.421097" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:14:59.421215" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:14:59.413885" elapsed="0.007356"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:14:59.421656" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:14:59.421325" elapsed="0.000389"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:14:59.424383" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:14:59.421864" elapsed="0.002594"/>
</kw>
<status status="PASS" start="2026-08-22T23:14:59.421739" elapsed="0.002769"/>
</branch>
<status status="PASS" start="2026-08-22T23:14:59.421304" elapsed="0.003233"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:14:59.424711" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:14:59.428545" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:14:59.425447" elapsed="0.003206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:14:59.425223" elapsed="0.003534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:14:59.425034" elapsed="0.003811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:14:59.413451" elapsed="0.015538">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:14:59.399142" elapsed="0.029982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:01.432555" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:01.431407" elapsed="0.001225"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:01.433533" elapsed="0.000490"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:01.432832" elapsed="0.001283"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:01.432780" elapsed="0.001432"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:01.453436" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:01.453608" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:01.453709" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:01.445102" elapsed="0.008634"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:01.454178" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:01.453818" elapsed="0.000425"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:01.456596" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:01.454412" elapsed="0.002236"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:01.454267" elapsed="0.002417"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:01.453798" elapsed="0.002907"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:01.456830" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:01.459913" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:01.457408" elapsed="0.002589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:01.457260" elapsed="0.002812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:01.457067" elapsed="0.003071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:01.444328" elapsed="0.015987">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:01.430247" elapsed="0.030367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:03.463650" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:03.462598" elapsed="0.001152"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:03.464803" elapsed="0.000668"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:03.464002" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:03.463937" elapsed="0.001738"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:03.487291" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:03.487563" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:03.487758" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:03.478856" elapsed="0.008942"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:03.488446" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:03.487942" elapsed="0.000590"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:03.491607" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:03.488757" elapsed="0.002918"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:03.488570" elapsed="0.003150"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:03.487904" elapsed="0.003844"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:03.491963" elapsed="0.000215"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:03.495524" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:03.492619" elapsed="0.003015">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:03.492449" elapsed="0.003290">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:03.492254" elapsed="0.003572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:03.478225" elapsed="0.017892">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:03.461627" elapsed="0.034641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:05.499708" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:05.498625" elapsed="0.001157"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:05.500646" elapsed="0.000476"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:05.499978" elapsed="0.001240"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:05.499926" elapsed="0.001362"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:05.517179" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:05.517368" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:05.517479" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:05.510551" elapsed="0.006955"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:05.517880" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:05.517587" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:05.520164" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:05.518101" elapsed="0.002116"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:05.517963" elapsed="0.002290"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:05.517568" elapsed="0.002708"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:05.520420" elapsed="0.000229"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:05.523951" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:05.520973" elapsed="0.003089">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:05.520848" elapsed="0.003319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:05.520709" elapsed="0.003664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:05.510104" elapsed="0.014447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:05.497469" elapsed="0.027234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:07.527892" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:07.526911" elapsed="0.001071"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:07.528823" elapsed="0.000557"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:07.528201" elapsed="0.001346"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:07.528150" elapsed="0.001464"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:07.546485" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:07.546654" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:07.546754" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:07.539223" elapsed="0.007558"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:07.547178" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:07.546880" elapsed="0.000356"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:07.549511" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:07.547409" elapsed="0.002155"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:07.547260" elapsed="0.002338"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:07.546855" elapsed="0.002765"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:07.549794" elapsed="0.000184"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:07.553873" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:07.550315" elapsed="0.003667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:07.550191" elapsed="0.003966">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:07.550050" elapsed="0.004230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:07.538793" elapsed="0.015665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:07.525846" elapsed="0.028752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:09.557507" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:09.556477" elapsed="0.001106"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:09.558399" elapsed="0.000502"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:09.557787" elapsed="0.001207"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:09.557725" elapsed="0.001329"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:09.576270" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:09.576451" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:09.576553" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:09.569491" elapsed="0.007089"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:09.576959" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:09.576662" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:09.579763" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:09.577168" elapsed="0.002669"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:09.577042" elapsed="0.002845"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:09.576642" elapsed="0.003281"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:09.580103" elapsed="0.000271"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:09.583958" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:09.580819" elapsed="0.003356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:09.580648" elapsed="0.003635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:09.580460" elapsed="0.003936">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:09.568823" elapsed="0.015733">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:09.555517" elapsed="0.029177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:11.587642" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:11.586679" elapsed="0.001037"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:11.588640" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:11.587923" elapsed="0.001301"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:11.587873" elapsed="0.001410"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:11.606920" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:11.607089" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:11.607207" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:11.600073" elapsed="0.007162"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:11.607761" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:11.607317" elapsed="0.000525"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:11.611032" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:11.608051" elapsed="0.003059"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:11.607878" elapsed="0.003284"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:11.607297" elapsed="0.003899"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:11.611507" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:11.615585" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:11.612273" elapsed="0.003424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:11.612077" elapsed="0.003726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:11.611847" elapsed="0.004042">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:11.599628" elapsed="0.016405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:11.585699" elapsed="0.030508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:13.619063" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:13.618128" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:13.619921" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:13.619323" elapsed="0.001216"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:13.619276" elapsed="0.001320"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:13.638215" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:13.638396" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:13.638501" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:13.631599" elapsed="0.006940"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:13.639101" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:13.638676" elapsed="0.000506"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:13.643403" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:13.639487" elapsed="0.004007"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:13.639283" elapsed="0.004269"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:13.638643" elapsed="0.004945"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:13.643800" elapsed="0.000274"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:13.648197" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:13.644682" elapsed="0.003625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:13.644454" elapsed="0.004045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:13.644170" elapsed="0.004421">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:13.631161" elapsed="0.017576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:13.617171" elapsed="0.031697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:15.652553" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:15.651124" elapsed="0.001508"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:15.653614" elapsed="0.000564"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:15.652842" elapsed="0.001464"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:15.652789" elapsed="0.001654"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:15.673130" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:15.673298" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:15.673488" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:15.666173" elapsed="0.007349"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:15.673928" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:15.673606" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:15.676184" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:15.674138" elapsed="0.002096"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:15.674010" elapsed="0.002259"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:15.673585" elapsed="0.002705"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:15.676430" elapsed="0.000180"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:15.679119" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:15.676933" elapsed="0.002265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:15.676811" elapsed="0.002461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:15.676671" elapsed="0.002664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:15.665471" elapsed="0.013987">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:15.649914" elapsed="0.029641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:17.682432" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:17.681492" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:17.683263" elapsed="0.000499"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:17.682698" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:17.682649" elapsed="0.001258"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:17.700525" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:17.700754" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:17.700866" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:17.694104" elapsed="0.006788"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:17.701372" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:17.701037" elapsed="0.000397"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:17.704467" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:17.701588" elapsed="0.002952"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:17.701460" elapsed="0.003131"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:17.701008" 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-08-22T23:15:17.704798" elapsed="0.000296"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:17.708609" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:17.705560" elapsed="0.003157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:17.705387" elapsed="0.003434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:17.705177" elapsed="0.003734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:17.693590" elapsed="0.015503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:17.680479" elapsed="0.028757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:19.712152" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:19.711210" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:19.713071" elapsed="0.000608"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:19.712457" elapsed="0.001314"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:19.712403" elapsed="0.001425"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:19.730518" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:19.730692" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:19.730796" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:19.723941" elapsed="0.006901"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:19.731238" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:19.730932" elapsed="0.000363"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:19.733542" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:19.731464" elapsed="0.002129"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:19.731320" elapsed="0.002308"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:19.730910" elapsed="0.002739"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:19.733775" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:19.737140" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:19.734272" elapsed="0.002976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:19.734148" elapsed="0.003223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:19.734011" elapsed="0.003448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:19.723498" elapsed="0.014104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:19.710195" elapsed="0.027538">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:21.740710" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:21.739778" elapsed="0.001003"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:21.741558" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:21.740971" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:21.740923" elapsed="0.001263"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:21.758838" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:21.759012" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:21.759116" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:21.752186" elapsed="0.006956"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:21.759592" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:21.759230" elapsed="0.000422"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:21.762389" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:21.759812" elapsed="0.002650"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:21.759678" elapsed="0.002833"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:21.759209" elapsed="0.003333"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:21.762716" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:21.766465" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:21.763416" elapsed="0.003158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:21.763224" elapsed="0.003453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:21.763036" elapsed="0.003726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:21.751629" elapsed="0.015274">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:21.738788" elapsed="0.028323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:23.770150" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:23.769171" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:23.771047" elapsed="0.000551"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:23.770461" elapsed="0.001233"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:23.770402" elapsed="0.001352"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:23.790797" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:23.790966" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:23.791076" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:23.783271" elapsed="0.007831"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:23.791526" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:23.791184" elapsed="0.000402"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:23.794636" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:23.791749" elapsed="0.002957"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:23.791611" elapsed="0.003144"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:23.791164" elapsed="0.003621"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:23.794957" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:23.798705" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:23.795682" elapsed="0.003133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:23.795511" elapsed="0.003409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:23.795274" elapsed="0.003731">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:23.782673" elapsed="0.016541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:23.768160" elapsed="0.031241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:25.802497" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:25.801473" elapsed="0.001142"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:25.803484" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:25.802857" elapsed="0.001229"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:25.802793" elapsed="0.001351"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:25.822651" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:25.822853" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:25.823024" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:25.815940" elapsed="0.007124"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:25.823644" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:25.823210" elapsed="0.000513"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:25.826885" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:25.823932" elapsed="0.003026"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:25.823758" elapsed="0.003248"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:25.823177" elapsed="0.003860"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:25.827232" elapsed="0.000309"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:25.831305" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:25.827995" elapsed="0.003410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:25.827822" elapsed="0.003660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:25.827626" elapsed="0.003983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:25.815505" elapsed="0.016214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:25.800465" elapsed="0.031351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:27.834656" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:27.833723" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:27.835518" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:27.834920" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:27.834871" elapsed="0.001260"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:27.854103" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:27.854315" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:27.854479" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:27.846068" elapsed="0.008447"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:27.855031" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:27.854627" elapsed="0.000482"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:27.858273" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:27.855315" elapsed="0.003049"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:27.855142" elapsed="0.003273"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:27.854599" elapsed="0.003846"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:27.858618" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:27.862335" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:27.859285" elapsed="0.003176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:27.859118" elapsed="0.003519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:27.858934" elapsed="0.003793">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:27.845636" elapsed="0.017238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:27.832723" elapsed="0.030287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:29.865859" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:29.864929" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:29.866727" elapsed="0.000475"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:29.866124" elapsed="0.001170"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:29.866075" elapsed="0.001308"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:29.888612" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:29.888949" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:29.889212" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:29.880262" elapsed="0.009013"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:29.890204" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:29.889503" elapsed="0.000867"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:29.895820" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:29.890732" elapsed="0.005226"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:29.890434" elapsed="0.005614"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:29.889455" elapsed="0.006641"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:29.896403" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:29.901113" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:29.897496" elapsed="0.003759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:29.897199" elapsed="0.004132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:29.896907" elapsed="0.004504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:29.879718" elapsed="0.021796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:29.863990" elapsed="0.037619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:31.904548" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:31.903580" elapsed="0.001043"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:31.905439" elapsed="0.000557"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:31.904814" elapsed="0.001279"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:31.904766" elapsed="0.001370"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:31.923197" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:31.923434" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:31.923573" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:31.915159" elapsed="0.008459"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:31.924154" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:31.923737" elapsed="0.000496"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:31.927464" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:31.924467" elapsed="0.003072"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:31.924267" elapsed="0.003322"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:31.923709" elapsed="0.003910"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:31.927873" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:31.931991" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:31.928580" elapsed="0.003518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:31.928409" elapsed="0.003792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:31.928196" elapsed="0.004094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:31.914731" elapsed="0.017729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:31.902572" elapsed="0.030030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:33.935604" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:33.934568" elapsed="0.001109"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:33.936506" elapsed="0.000469"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:33.935870" elapsed="0.001195"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:33.935821" elapsed="0.001301"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:33.953111" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:33.953323" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:33.953489" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:33.947657" elapsed="0.005868"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:33.954041" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:33.953636" elapsed="0.000485"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:33.957294" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:33.954429" elapsed="0.002958"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:33.954224" elapsed="0.003213"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:33.953609" elapsed="0.003860"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:33.957645" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:33.961396" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:33.958321" elapsed="0.003183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:33.958149" elapsed="0.003457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:33.957963" elapsed="0.003729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:33.947207" elapsed="0.014626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:33.933567" elapsed="0.028400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:35.964863" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:35.963916" elapsed="0.001017"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:35.965708" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:35.965119" elapsed="0.001134"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:35.965072" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:35.984873" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:35.985035" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:35.985200" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:35.977052" elapsed="0.008175"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:35.985624" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:35.985309" elapsed="0.000372"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:35.987914" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:35.985828" elapsed="0.002137"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:35.985706" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:35.985289" elapsed="0.002732"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:35.988144" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:35.991699" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:35.988692" elapsed="0.003117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:35.988570" elapsed="0.003342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:35.988428" elapsed="0.003571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:35.976423" elapsed="0.015721">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:35.962962" elapsed="0.029316">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:37.995182" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:37.994243" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:37.996037" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:37.995477" elapsed="0.001141"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:37.995425" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:38.013126" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:38.013403" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:38.013506" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:38.006379" elapsed="0.007154"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:38.013905" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:38.013613" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:38.017036" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:38.014144" elapsed="0.002965"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:38.013986" elapsed="0.003172"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:38.013593" elapsed="0.003595"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:38.017395" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:38.021357" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:38.018070" elapsed="0.003428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:38.017903" elapsed="0.003701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:38.017716" elapsed="0.003975">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:38.005795" elapsed="0.016041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:37.993236" elapsed="0.028734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:40.024899" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:40.023948" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:40.025751" elapsed="0.000571"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:40.025159" elapsed="0.001334"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:40.025111" elapsed="0.001444"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:40.043124" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:40.043411" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:40.043551" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:40.035811" elapsed="0.007776"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:40.044168" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:40.043697" elapsed="0.000557"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:40.047464" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:40.044498" elapsed="0.003038"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:40.044289" elapsed="0.003296"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:40.043670" elapsed="0.003944"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:40.047785" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:40.051545" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:40.048480" elapsed="0.003177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:40.048289" elapsed="0.003469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:40.048100" elapsed="0.003743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:40.035388" elapsed="0.016597">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:40.022963" elapsed="0.029154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:42.055044" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:42.054110" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:42.055932" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:42.055307" elapsed="0.001211"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:42.055258" elapsed="0.001316"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:42.074625" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:42.074792" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:42.074902" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:42.067488" elapsed="0.007440"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:42.075304" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:42.075009" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:42.077635" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:42.075550" elapsed="0.002137"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:42.075403" elapsed="0.002318"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:42.074990" elapsed="0.002753"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:42.077867" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:42.080718" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:42.078368" elapsed="0.002459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:42.078230" elapsed="0.002697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:42.078095" elapsed="0.002917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:42.066862" elapsed="0.014291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:42.053139" elapsed="0.028240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:44.084190" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:44.083262" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:44.085152" elapsed="0.000502"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:44.084568" elapsed="0.001177"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:44.084437" elapsed="0.001364"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:44.103768" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:44.103987" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:44.104125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:44.096790" elapsed="0.007373"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:44.104764" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:44.104289" elapsed="0.000558"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:44.108186" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:44.105057" elapsed="0.003200"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:44.104881" elapsed="0.003425"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:44.104260" elapsed="0.004076"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:44.108564" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:44.112323" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:44.109242" elapsed="0.003211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:44.109075" elapsed="0.003555">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:44.108887" elapsed="0.003835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:44.096308" elapsed="0.016623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:44.082309" elapsed="0.030758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:46.116182" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:46.115123" elapsed="0.001134"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:46.117066" elapsed="0.000527"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:46.116494" elapsed="0.001194"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:46.116441" elapsed="0.001306"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:46.136945" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:46.137114" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:46.137213" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:46.130260" elapsed="0.006979"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:46.137672" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:46.137320" elapsed="0.000413"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:46.141236" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:46.137947" elapsed="0.003424"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:46.137778" elapsed="0.003661"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:46.137301" elapsed="0.004171"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:46.141756" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:46.145818" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:46.142713" elapsed="0.003213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:46.142481" elapsed="0.003549">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:46.142181" elapsed="0.004024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:46.129663" elapsed="0.016672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:46.114106" elapsed="0.032346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:48.149382" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:48.148445" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:48.150233" elapsed="0.000577"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:48.149648" elapsed="0.001252"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:48.149598" elapsed="0.001359"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:48.168388" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:48.168555" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:48.168676" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:48.161734" elapsed="0.006969"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:48.169079" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:48.168784" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:48.171377" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:48.169283" elapsed="0.002148"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:48.169161" elapsed="0.002305"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:48.168764" elapsed="0.002723"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:48.171611" elapsed="0.000178"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:48.175159" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:48.172117" elapsed="0.003149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:48.171995" elapsed="0.003468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:48.171856" elapsed="0.003698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:48.161284" elapsed="0.014417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:48.147448" elapsed="0.028387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:50.178783" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:50.177792" elapsed="0.001064"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:50.179756" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:50.179079" elapsed="0.001328"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:50.178998" elapsed="0.001479"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:50.198692" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:50.198860" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:50.198959" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:50.191557" elapsed="0.007428"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:50.199370" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:50.199065" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:50.202176" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:50.199580" elapsed="0.002669"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:50.199453" elapsed="0.002845"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:50.199045" elapsed="0.003282"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:50.202530" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:50.206542" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:50.203197" elapsed="0.003583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:50.203030" elapsed="0.003858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:50.202846" elapsed="0.004131">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:50.191117" elapsed="0.016006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:50.176805" elapsed="0.030452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:52.210153" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:52.209211" 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-08-22T23:15:52.211013" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:52.210449" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:52.210399" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:52.229821" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:52.229984" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:52.230081" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:52.222726" elapsed="0.007381"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:52.230502" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:52.230188" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:52.232779" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:52.230708" elapsed="0.002122"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:52.230584" elapsed="0.002280"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:52.230169" elapsed="0.002716"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:52.233069" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:52.236762" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:52.233704" elapsed="0.003164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:52.233504" elapsed="0.003464">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:52.233301" elapsed="0.003754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:52.222124" elapsed="0.015075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:52.208212" elapsed="0.029124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:54.240511" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:54.239477" elapsed="0.001111"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:54.241394" elapsed="0.000505"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:54.240789" elapsed="0.001202"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:54.240737" elapsed="0.001312"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:54.260324" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:54.260623" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:54.260819" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:54.252151" elapsed="0.008711"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:54.261610" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:54.261018" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:54.265504" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:54.262097" elapsed="0.003484"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:54.261886" elapsed="0.003746"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:54.260978" elapsed="0.004685"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:54.265876" elapsed="0.000289"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:54.270104" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:54.266721" elapsed="0.003495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:54.266529" elapsed="0.003791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:54.266269" elapsed="0.004186">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:54.251587" elapsed="0.019012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:54.238392" elapsed="0.032308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:56.273492" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:56.272569" elapsed="0.000997"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:56.274308" elapsed="0.000557"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:56.273754" elapsed="0.001202"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:56.273706" elapsed="0.001305"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:56.292985" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:56.293194" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:56.293427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:56.286281" elapsed="0.007184"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:56.294005" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:56.293583" elapsed="0.000502"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:56.297233" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:56.294295" elapsed="0.003010"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:56.294119" elapsed="0.003254"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:56.293553" elapsed="0.003852"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:56.297579" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:56.301558" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:56.298249" elapsed="0.003416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:56.298082" elapsed="0.003685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:56.297898" elapsed="0.003956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:56.285865" elapsed="0.016128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:56.271632" elapsed="0.030492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:15:58.305089" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:15:58.304145" elapsed="0.001015"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:15:58.305946" elapsed="0.000499"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:58.305378" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:58.305301" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:15:58.327105" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:15:58.327363" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:15:58.327469" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:15:58.319603" elapsed="0.007892"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:15:58.327921" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:15:58.327591" elapsed="0.000390"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:15:58.330941" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:15:58.328137" elapsed="0.002881"/>
</kw>
<status status="PASS" start="2026-08-22T23:15:58.328007" elapsed="0.003065"/>
</branch>
<status status="PASS" start="2026-08-22T23:15:58.327570" elapsed="0.003533"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:15:58.331290" elapsed="0.000270"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:15:58.335293" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:15:58.332107" elapsed="0.003326">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:15:58.331917" elapsed="0.003628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:15:58.331652" elapsed="0.003988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:15:58.318996" elapsed="0.016791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:15:58.303112" elapsed="0.032877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:00.339189" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:00.338070" elapsed="0.001197"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:00.340131" elapsed="0.000681"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:00.339506" elapsed="0.001426"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:00.339453" elapsed="0.001540"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:00.357192" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:00.357376" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:00.357488" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:00.350684" elapsed="0.006830"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:00.357894" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:00.357600" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:00.360153" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:00.358103" elapsed="0.002103"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:00.357977" elapsed="0.002265"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:00.357577" elapsed="0.002687"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:00.360405" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:00.363129" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:00.360925" elapsed="0.002285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:00.360774" elapsed="0.002511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:00.360638" elapsed="0.002724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:00.350243" elapsed="0.013225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:00.337056" elapsed="0.026509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:02.366394" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:02.365403" elapsed="0.001066"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:02.367219" elapsed="0.000492"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:02.366659" elapsed="0.001141"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:02.366611" elapsed="0.001245"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:02.388191" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:02.388447" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:02.388586" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:02.380549" elapsed="0.008074"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:02.389135" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:02.388734" elapsed="0.000481"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:02.392316" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:02.389445" elapsed="0.002963"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:02.389249" elapsed="0.003209"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:02.388707" elapsed="0.003781"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:02.392663" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:02.396657" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:02.393356" elapsed="0.003409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:02.393170" elapsed="0.003697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:02.392982" elapsed="0.003973">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:02.380114" elapsed="0.016982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:02.364485" elapsed="0.032816">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:04.400293" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:04.399318" elapsed="0.001079"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:04.401199" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:04.400598" elapsed="0.001233"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:04.400548" elapsed="0.001342"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:04.422200" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:04.422388" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:04.422489" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:04.415087" elapsed="0.007429"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:04.422903" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:04.422599" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:04.425827" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:04.423144" elapsed="0.002756"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:04.423016" elapsed="0.002934"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:04.422579" elapsed="0.003402"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:04.426155" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:04.429882" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:04.426852" elapsed="0.003135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:04.426684" elapsed="0.003407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:04.426497" elapsed="0.003681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:04.414435" elapsed="0.015972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:04.398283" elapsed="0.032265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:06.433526" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:06.432569" elapsed="0.001031"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:06.434385" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:06.433794" elapsed="0.001152"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:06.433745" elapsed="0.001258"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:06.451842" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:06.452042" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:06.452153" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:06.445208" elapsed="0.006972"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:06.452577" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:06.452260" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:06.455793" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:06.452836" elapsed="0.003030"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:06.452660" elapsed="0.003255"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:06.452241" elapsed="0.003705"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:06.456140" elapsed="0.000264"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:06.459938" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:06.456841" elapsed="0.003252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:06.456672" elapsed="0.003526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:06.456485" elapsed="0.003890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:06.444715" elapsed="0.015811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:06.431558" elapsed="0.029103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:08.463591" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:08.462609" elapsed="0.001058"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:08.464484" elapsed="0.000468"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:08.463876" elapsed="0.001165"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:08.463820" elapsed="0.001277"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:08.482784" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:08.483035" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:08.483172" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:08.475681" elapsed="0.007528"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:08.483767" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:08.483324" elapsed="0.000538"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:08.486974" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:08.484077" elapsed="0.002969"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:08.483897" elapsed="0.003198"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:08.483296" elapsed="0.003829"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:08.487297" elapsed="0.000263"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:08.491282" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:08.487999" elapsed="0.003412">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:08.487830" elapsed="0.003752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:08.487643" elapsed="0.004029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:08.475208" elapsed="0.016608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:08.461648" elapsed="0.030303">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:10.494756" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:10.493822" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:10.495617" elapsed="0.000466"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:10.495019" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:10.494971" elapsed="0.001258"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:10.513330" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:10.513519" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:10.513618" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:10.505545" elapsed="0.008099"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:10.514019" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:10.513723" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:10.516382" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:10.514227" elapsed="0.002207"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:10.514102" elapsed="0.002368"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:10.513704" elapsed="0.002788"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:10.516618" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:10.520371" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:10.517242" elapsed="0.003308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:10.517073" elapsed="0.003596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:10.516862" elapsed="0.003897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:10.505103" elapsed="0.015800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:10.492895" elapsed="0.028144">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:12.523927" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:12.523001" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:12.524815" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:12.524189" elapsed="0.001219"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:12.524140" elapsed="0.001327"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:12.544451" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:12.544611" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:12.544720" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:12.537640" elapsed="0.007108"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:12.545127" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:12.544829" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:12.547429" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:12.545334" elapsed="0.002146"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:12.545211" elapsed="0.002304"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:12.544809" elapsed="0.002729"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:12.547719" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:12.551058" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:12.548232" elapsed="0.002933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:12.548109" elapsed="0.003159">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:12.547974" elapsed="0.003403">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:12.537201" elapsed="0.014322">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:12.522024" elapsed="0.029634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:14.554524" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:14.553593" elapsed="0.001003"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:14.555600" elapsed="0.000516"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:14.554783" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:14.554735" elapsed="0.001526"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:14.574194" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:14.574382" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:14.574489" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:14.567413" elapsed="0.007103"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:14.574993" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:14.574608" elapsed="0.000489"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:14.578369" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:14.575441" elapsed="0.003019"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:14.575233" elapsed="0.003305"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:14.574584" elapsed="0.003999"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:14.578771" elapsed="0.000272"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:14.582894" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:14.579514" elapsed="0.003494">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:14.579315" elapsed="0.003796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:14.579128" elapsed="0.004071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:14.566948" elapsed="0.016417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:14.552610" elapsed="0.030893">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:16.586679" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:16.585705" elapsed="0.001062"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:16.587624" elapsed="0.000508"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:16.586992" elapsed="0.001236"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:16.586941" elapsed="0.001346"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:16.604926" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:16.605097" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:16.605305" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:16.597617" elapsed="0.007738"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:16.605760" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:16.605448" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:16.608079" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:16.606002" elapsed="0.002129"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:16.605845" elapsed="0.002322"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:16.605427" elapsed="0.002762"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:16.608316" elapsed="0.000203"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:16.611207" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:16.608842" elapsed="0.002471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:16.608719" elapsed="0.002721">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:16.608581" elapsed="0.002946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:16.597181" elapsed="0.014487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:16.584711" elapsed="0.027089">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:18.614687" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:18.613735" elapsed="0.001024"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:18.615579" elapsed="0.000468"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:18.614952" elapsed="0.001184"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:18.614902" elapsed="0.001291"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:18.634491" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:18.634736" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:18.634851" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:18.627173" elapsed="0.007704"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:18.635271" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:18.634959" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:18.637545" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:18.635502" elapsed="0.002095"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:18.635375" elapsed="0.002257"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:18.634938" elapsed="0.002716"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:18.637780" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:18.640644" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:18.638274" elapsed="0.002480">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-22T23:16:18.638151" elapsed="0.002731">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:18.638013" elapsed="0.003003">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:18.626576" elapsed="0.014615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:18.612745" elapsed="0.028612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-08-22T23:16:18.641504" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-22T23:14:47.210686" elapsed="91.431007">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:16:18.641947" elapsed="0.000032"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:18.643169" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:16:18.910429" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:16:18.910795" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:16:18.910895" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:16:18.910995" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:18.642887" elapsed="0.268180"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:18.912420" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:18.911583" elapsed="0.000965"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:18.913517" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:16:19.206253" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:16:19.206688" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:16:19.206788" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:16:19.206883" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:18.912958" elapsed="0.293977"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:19.207928" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:16:19.270030" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:16:19.270286" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:16:19.270424" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:16:19.270518" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:19.207463" elapsed="0.063128"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:19.271183" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:16:19.324166" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:19.270946" elapsed="0.053370"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:19.337854" level="INFO">DELETE Request : url=http://10.30.171.114: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=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:19.337920" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:19.338049" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:19.324732" elapsed="0.013388"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:19.343435" level="INFO">DELETE Request : url=http://10.30.171.114: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=node0131d8hd26iere1n1jvwud0bvud3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:19.343645" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:16:19.343791" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:19.338360" elapsed="0.005469"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:16:18.642433" elapsed="0.701502"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-08-22T23:14:46.390640" elapsed="92.953375">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDIf/RoElMhu6C23SjDuw1tE0hVrbBJtfDATeTPwnnPGkT9dXXxojOiaMNkrcqWKJlS4VtZTBiol6yFUrbHKq7BR0/hRsNNo+DSJJJrry6Ms8EnfjkvQefRWYhOABDDp4WQ7sUIonPHjBg94+HJhEbGjfIIirpB69r4flA/tf+mlxldwyTbB6v1TXV0l0V1Kfy469B08C5BgtyoeHz25KZ5AYEQ1naTlUCz2WCRNV2ZwV+byMyy9Q7SGsTk40gFneiCQ0pQTiysoNMMz+K06PtLhkQwCHDzts32g2lvkhXyhpmBU6c9d2C1MGI+/Dv7iqna9XUcHtJfFNBjtzDqYs4l"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t5" name="CallHome with Incorrect Node-id" line="91">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:19.346651" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cde78390&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:16:19.346243" elapsed="0.000632"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:19.347219" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:16:19.371808" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:19.347083" elapsed="0.024861"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:19.372519" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:16:20.062539" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:19.372261" elapsed="0.690508"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:20.063568" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:16:20.108476" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:16:20.108738" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDbF4XcNYa0+Nhv4EtloP5l5mW40gvG3l32NP7Rj7kljpsf0HcEEb85vb/c5/+e5ptyK8RWPogje3fz0l+ppgRzHbIi7e6in1qZt77nFwQttYwvW8sfWByajXz44yhdQpUakCA6LXAjU3efpI6LlqUlutl9mk1q9k6YYUo2pP0P...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:20.063236" elapsed="0.045561"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.116382" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDbF4XcNYa0+Nhv4EtloP5l5mW40gvG3l32NP7Rj7kljpsf0HcEEb85vb/c5/+e5ptyK8RWPogje3fz0l+ppgRzHbIi7e6in1qZt77nFwQttYwvW8sfWByajXz44yhdQpUakCA6LXAjU3efpI6LlqUlutl9mk1q9k6YYUo2pP0P...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:16:20.109235" elapsed="0.007216"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:16:19.345799" elapsed="0.770745"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:16:20.154507" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:16:20.117221" elapsed="0.037372"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:16:20.160895" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:16:20.154803" elapsed="0.006255"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-22T23:16:20.116827" elapsed="0.044389"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:16:20.168410" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:20.162755" elapsed="0.005743"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:16:20.169330" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:16:20.169564" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:16:20.169111" elapsed="0.000490"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.170264" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:16:20.169809" elapsed="0.000514"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:20.168742" elapsed="0.001680"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:20.168537" elapsed="0.001918"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:20.162697" elapsed="0.007788"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.171028" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}"...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.170670" elapsed="0.000395"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.171603" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
   ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.171263" elapsed="0.000377"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.172225" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.171906" elapsed="0.000356"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.172808" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.172489" elapsed="0.000356"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:20.192921" level="INFO">POST Request : url=http://10.30.171.114: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:16:20.192980" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0webn7hsf0th39mvrmv67suhg4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:16:20 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:20.193089" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:20.173032" elapsed="0.020084"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:16:20.193272" elapsed="0.002132"/>
</kw>
<arg>incorrect_hostname</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:16:20.161845" elapsed="0.033623"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:16:20.202731" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:16:20.202862" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:16:20.202579" elapsed="0.000309"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.203371" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:16:20.203033" elapsed="0.000381"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:20.202289" elapsed="0.001179"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:20.199035" elapsed="0.004457"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:16:20.203661" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:20.203517" elapsed="0.000192"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:20.199016" elapsed="0.004713"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.204093" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.203857" elapsed="0.000263"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.204530" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.204283" elapsed="0.000274"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.204918" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.204697" elapsed="0.000246"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:20.205303" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDbF4XcNYa0+Nhv4EtloP5l5mW40gvG3l32NP7Rj7kljpsf0HcEEb85vb/c5/+e...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:20.205081" elapsed="0.000247"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:20.213926" level="INFO">POST Request : url=http://10.30.171.114: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=node0webn7hsf0th39mvrmv67suhg4.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDbF4XcNYa0+Nhv4EtloP5l5mW40gvG3l32NP7Rj7kljpsf0HcEEb85vb/c5/+e5ptyK8RWPogje3fz0l+ppgRzHbIi7e6in1qZt77nFwQttYwvW8sfWByajXz44yhdQpUakCA6LXAjU3efpI6LlqUlutl9mk1q9k6YYUo2pP0PydVA0IshfCMWgH4wUuDx0ShdGvMlWA2GEG1JZB6RVYlbZQDw+Bfm4KNf5H26V4HjCYSBkoQobctK72/z1VY7lH1rXTYLTEIyx27Xg6gCwSUV0KxC+nhICbyPe2oSQ9FFnBqVnC6vNhDFfPQwpzwXKzj4RFTxecyRPW5G4sqsrQ/L"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:16:20.214057" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:20.214290" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:20.205513" elapsed="0.008867"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:16:20.214736" elapsed="0.006031"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:16:20.195716" elapsed="0.025143"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:20.221296" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-22T23:16:20.485993" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:16:20.486286" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:16:20.486436" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:16:20.486535" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:20.221054" elapsed="0.265532"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.490022" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"DISCONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:20.489175" 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-08-22T23:16:20.490864" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:20.490260" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:20.490211" elapsed="0.000839"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:20.506818" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0webn7hsf0th39mvrmv67suhg4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:20.507187" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDbF4XcNYa0+Nhv4EtloP5l5mW40gvG3l32NP7Rj7kljpsf0HcEEb85vb/c5/+e5ptyK8RWPogje3fz0l+ppgRzHbIi7e6in1qZt77nFwQttYwvW8sfWByajXz44yhdQpUakCA6LXAjU3efpI6LlqUlutl9mk1q9k6YYUo2pP0PydVA0IshfCMWgH4wUuDx0ShdGvMlWA2GEG1JZB6RVYlbZQDw+Bfm4KNf5H26V4HjCYSBkoQobctK72/z1VY7lH1rXTYLTEIyx27Xg6gCwSUV0KxC+nhICbyPe2oSQ9FFnBqVnC6vNhDFfPQwpzwXKzj4RFTxecyRPW5G4sqsrQ/L"}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:20.507472" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:20.499941" elapsed="0.007595"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:20.508441" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:20.507724" elapsed="0.000851"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.513930" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDbF4XcNYa0+Nhv4EtloP5l5mW40gvG3l32NP7Rj7kljpsf0HcEEb85vb/c5/+e5ptyK8RWPogje3fz0l+ppgRzHbIi7e6in1qZt77nFwQttYwvW8sfWByajXz44yhdQpUakCA6LXAjU3efpI6LlqUlutl9mk1q9k6YYUo2pP0PydVA0IshfCMWgH4wUuDx0ShdGvMlWA2GEG1JZB6RVYlbZQDw+Bfm4KNf5H26V4HjCYSBkoQobctK72/z1VY7lH1rXTYLTEIyx27Xg6gCwSUV0KxC+nhICbyPe2oSQ9FFnBqVnC6vNhDFfPQwpzwXKzj4RFTxecyRPW5G4sqsrQ/L"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:20.508927" elapsed="0.005231"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:20.508633" elapsed="0.005656"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:20.507679" elapsed="0.006696"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:20.514710" elapsed="0.000470"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:16:20.515590" elapsed="0.002158"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-22T23:16:20.515442" elapsed="0.002345"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:16:20.517991" elapsed="0.002184"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-08-22T23:16:20.517873" elapsed="0.002342"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-22T23:16:20.515263" elapsed="0.004982"/>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-08-22T23:16:20.499523" elapsed="0.020780"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-08-22T23:16:20.488400" elapsed="0.031974"/>
</kw>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>DISCONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-08-22T23:16:20.487006" elapsed="0.033414"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Run Keyword And Expect Error" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:20.548200" level="INFO">GET Request : url=http://10.30.171.114: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=node0webn7hsf0th39mvrmv67suhg4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:20.548529" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '990'} 
 body={"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]} 
 </msg>
<msg time="2026-08-22T23:16:20.548750" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:20.527929" elapsed="0.020877"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:20.549653" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:20.548981" elapsed="0.000797"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.555304" level="INFO">{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:20.550139" elapsed="0.005324"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:20.549832" elapsed="0.005710"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:20.548937" elapsed="0.006653"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:20.555862" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.560411" level="FAIL">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:20.556931" elapsed="0.003571">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<var name="${i}">"connection-status":"connected"</var>
<status status="FAIL" start="2026-08-22T23:16:20.556670" elapsed="0.003948">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:20.556380" elapsed="0.004306">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</for>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:20.527471" elapsed="0.033321">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the keyword and checks that the expected error occurred.</doc>
<status status="PASS" start="2026-08-22T23:16:20.521053" elapsed="0.039942"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-08-22T23:16:20.520574" elapsed="0.040477"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:20.561853" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:16:20.836251" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:16:20.836717" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:16:20.836826" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:16:20.836932" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:20.561680" elapsed="0.275318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:20.838218" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:20.837496" elapsed="0.000816"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:20.839047" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:16:21.146489" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:16:21.146863" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:16:21.146963" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:16:21.147057" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:20.838668" elapsed="0.308442"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.147995" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:16:21.220217" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:16:21.220662" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:16:21.220767" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:16:21.220860" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:21.147571" elapsed="0.073342"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.221670" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:16:21.268496" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:21.221392" elapsed="0.047316"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:21.283726" level="INFO">DELETE Request : url=http://10.30.171.114: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=node0webn7hsf0th39mvrmv67suhg4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:21.283940" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:21.284158" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:21.269129" elapsed="0.015086"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:21.291406" level="INFO">DELETE Request : url=http://10.30.171.114: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=node0webn7hsf0th39mvrmv67suhg4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:21.291605" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:16:21.291747" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:21.284573" elapsed="0.007211"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:16:20.561352" elapsed="0.730537"/>
</kw>
<doc>CallHome from device that does not have an entry in per-device credential with result to mount point failure.</doc>
<status status="PASS" start="2026-08-22T23:16:19.344788" elapsed="1.947173"/>
</test>
<test id="s1-s1-t6" name="CallHome with Rogue Devices" line="111">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:21.295013" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cdd1fc10&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:16:21.294574" elapsed="0.000646"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.295580" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:16:21.316470" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:21.295439" elapsed="0.021185"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.317221" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:16:21.529507" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:21.316977" elapsed="0.212740"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.530453" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:16:21.576595" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:16:21.576861" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC0fBstYy7EkWknzzOBkaOagHEBTQR6ltminyNc8f690Cl4Is1Th7zEYNFwQDlPjFHavaMl5ISBS/DojE85l7Xydd5D8U7G1kUydlbXeaYj7fu+gAxpuy+wD2CvUu7/fQhDZ/8kVol5hk/96LdRI7tREpS+Z8bzp4dbABj0fc7+...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:21.530128" elapsed="0.046795"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:16:21.586220" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC0fBstYy7EkWknzzOBkaOagHEBTQR6ltminyNc8f690Cl4Is1Th7zEYNFwQDlPjFHavaMl5ISBS/DojE85l7Xydd5D8U7G1kUydlbXeaYj7fu+gAxpuy+wD2CvUu7/fQhDZ/8kVol5hk/96LdRI7tREpS+Z8bzp4dbABj0fc7+...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:16:21.577318" elapsed="0.009014"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:16:21.293980" elapsed="0.292543"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.622756" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:16:21.587658" elapsed="0.035250"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.631399" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:16:21.623250" elapsed="0.008241"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-22T23:16:21.586952" elapsed="0.044626"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-22T23:16:21.637718" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:21.632524" elapsed="0.005282"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:16:21.638652" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:16:21.638949" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:16:21.638440" elapsed="0.000547"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:16:21.639698" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:16:21.639200" elapsed="0.000566"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:21.638048" elapsed="0.001816"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:21.637848" elapsed="0.002051"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:21.632482" elapsed="0.007466"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:21.640517" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:21.640141" elapsed="0.000415"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:21.641102" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:21.640756" elapsed="0.000385"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:21.641684" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:21.641362" elapsed="0.000361"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:16:21.642276" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:16:21.641949" elapsed="0.000373"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:21.658102" level="INFO">POST Request : url=http://10.30.171.114: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF"
        }
    }
}
 
 </msg>
<msg time="2026-08-22T23:16:21.658232" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:16:21 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:21.658527" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:21.642570" elapsed="0.016042"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-08-22T23:16:21.659143" elapsed="0.005380"/>
</kw>
<arg>netopeer2</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-08-22T23:16:21.631943" elapsed="0.032732"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:16:21.665552" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-22T23:16:21.931272" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:16:21.931687" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:16:21.931785" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:16:21.931877" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:16:21.665051" elapsed="0.266877"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:21.936120" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:21.935097" 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-08-22T23:16:21.937084" elapsed="0.000614"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:21.936434" elapsed="0.001360"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:21.936317" elapsed="0.001536"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:21.955715" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:21.955947" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:21.956087" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:21.948039" elapsed="0.008085"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:21.956781" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:21.956238" elapsed="0.000654"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:21.960988" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:21.957190" elapsed="0.003871"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:21.956954" elapsed="0.004157"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:21.956209" elapsed="0.004933"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:21.961329" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:21.964966" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:21.962101" elapsed="0.002952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:21.961927" elapsed="0.003205">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:21.961729" elapsed="0.003472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:21.947604" elapsed="0.017705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:21.934137" elapsed="0.031288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:23.968769" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:23.967693" elapsed="0.001157"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:23.969725" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:23.969056" elapsed="0.001221"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:23.969002" elapsed="0.001311"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:23.987788" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:23.987962" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:23.988075" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:23.979928" elapsed="0.008177"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:23.988514" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:23.988187" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:23.990836" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:23.988724" elapsed="0.002179"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:23.988597" elapsed="0.002343"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:23.988167" elapsed="0.002794"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:23.991098" elapsed="0.000186"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:23.993856" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:23.991629" elapsed="0.002317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:23.991507" elapsed="0.002518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:23.991363" elapsed="0.002727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:23.979301" elapsed="0.014944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:23.966574" elapsed="0.027955">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:25.997408" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:25.996467" elapsed="0.001015"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:25.998261" elapsed="0.000652"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:25.997678" elapsed="0.001341"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:25.997628" elapsed="0.001461"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:26.018763" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:26.018935" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:26.019047" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:26.012277" elapsed="0.006796"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:26.019473" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:26.019155" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:26.021827" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:26.019713" elapsed="0.002166"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:26.019578" elapsed="0.002336"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:26.019135" elapsed="0.002800"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:26.022059" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:26.025035" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:26.022570" elapsed="0.002578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:26.022448" elapsed="0.002807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:26.022291" elapsed="0.003071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:26.011657" elapsed="0.013930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:25.995489" elapsed="0.030238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:28.028720" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:28.027739" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:28.029627" elapsed="0.000500"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:28.029012" elapsed="0.001210"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:28.028960" elapsed="0.001318"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:28.048287" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:28.048540" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:28.048679" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:28.040497" elapsed="0.008219"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:28.049255" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:28.048831" elapsed="0.000505"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:28.052564" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:28.049575" elapsed="0.003064"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:28.049397" elapsed="0.003293"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:28.048804" elapsed="0.003917"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:28.052899" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:28.057006" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:28.053626" elapsed="0.003490">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:28.053450" elapsed="0.003770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:28.053221" elapsed="0.004184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:28.040042" elapsed="0.017521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:28.026713" elapsed="0.030995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:30.060734" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:30.059714" elapsed="0.001092"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:30.061598" elapsed="0.000468"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:30.061003" elapsed="0.001152"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:30.060953" elapsed="0.001260"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:30.082581" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:30.082750" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:30.082849" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:30.075381" elapsed="0.007493"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:30.083248" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:30.082955" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:30.085528" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:30.083473" elapsed="0.002107"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:30.083330" elapsed="0.002285"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:30.082935" elapsed="0.002702"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:30.085762" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:30.088578" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:30.086256" elapsed="0.002431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:30.086135" elapsed="0.002729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:30.085997" elapsed="0.002957">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:30.074756" elapsed="0.014344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:30.058717" elapsed="0.030520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:32.092438" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:32.091433" elapsed="0.001095"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:32.093406" elapsed="0.000575"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:32.092764" elapsed="0.001322"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:32.092710" elapsed="0.001439"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:32.113314" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:32.113504" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:32.113638" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:32.105401" elapsed="0.008266"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:32.114066" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:32.113765" elapsed="0.000359"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:32.116356" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:32.114283" elapsed="0.002127"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:32.114150" elapsed="0.002295"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:32.113744" elapsed="0.002725"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:32.116604" elapsed="0.000180"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:32.119813" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:32.117104" elapsed="0.002889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:32.116980" elapsed="0.003121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:32.116843" elapsed="0.003346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:32.104774" elapsed="0.015560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:32.090262" elapsed="0.030238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:34.122931" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:34.122174" elapsed="0.000806"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:34.123513" elapsed="0.000327"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:34.123114" elapsed="0.000784"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:34.123080" elapsed="0.000858"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:34.142010" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:34.142261" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:34.142460" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:34.133761" elapsed="0.008740"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:34.143126" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:34.142646" elapsed="0.000564"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:34.146578" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:34.143475" elapsed="0.003284"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:34.143246" elapsed="0.003566"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:34.142609" elapsed="0.004234"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:34.147025" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:34.151142" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:34.147765" elapsed="0.003487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:34.147585" elapsed="0.003796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:34.147387" elapsed="0.004086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:34.132932" elapsed="0.018691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:34.121375" elapsed="0.030384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:36.154610" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:36.153682" elapsed="0.000999"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:36.155501" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:36.154870" elapsed="0.001191"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:36.154822" elapsed="0.001296"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:36.174266" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:36.174469" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:36.174717" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:36.167734" elapsed="0.007022"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:36.175306" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:36.174871" elapsed="0.000560"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:36.178585" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:36.175652" elapsed="0.003007"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:36.175469" elapsed="0.003240"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:36.174844" elapsed="0.003895"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:36.178913" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:36.182735" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:36.179650" elapsed="0.003195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:36.179476" elapsed="0.003473">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:36.179248" elapsed="0.003791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:36.167261" elapsed="0.015927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:36.152735" elapsed="0.030651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:38.186123" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:38.185201" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:38.187051" elapsed="0.000466"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:38.186413" elapsed="0.001163"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:38.186362" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:38.206085" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:38.206371" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:38.206521" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:38.198801" elapsed="0.007749"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:38.207111" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:38.206668" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:38.210504" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:38.207359" elapsed="0.003226"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:38.207203" elapsed="0.003433"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:38.206639" elapsed="0.004030"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:38.210861" elapsed="0.000279"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:38.214917" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:38.211670" elapsed="0.003425">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:38.211478" elapsed="0.003728">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:38.211228" elapsed="0.004071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:38.197908" elapsed="0.017571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:38.184267" elapsed="0.031321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:40.218529" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:40.217603" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:40.219435" elapsed="0.000544"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:40.218791" elapsed="0.001307"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:40.218742" elapsed="0.001417"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:40.236517" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:40.236682" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:40.236779" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:40.229505" elapsed="0.007301"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:40.237176" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:40.236885" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:40.239643" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:40.237395" elapsed="0.002300"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:40.237257" elapsed="0.002474"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:40.236866" elapsed="0.002886"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:40.239873" elapsed="0.000190"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:40.242560" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:40.240392" elapsed="0.002246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:40.240255" elapsed="0.002457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:40.240119" elapsed="0.002656">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:40.229064" elapsed="0.013815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:40.216667" elapsed="0.026373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:42.246413" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:42.245310" elapsed="0.001188"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:42.247283" elapsed="0.000499"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:42.246717" elapsed="0.001155"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:42.246658" elapsed="0.001271"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:42.264193" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:42.264390" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:42.264491" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:42.257678" elapsed="0.006838"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:42.264884" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:42.264595" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:42.267970" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:42.265110" elapsed="0.002931"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:42.264985" elapsed="0.003104"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:42.264576" elapsed="0.003544"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:42.268292" elapsed="0.000257"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:42.272018" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:42.269011" elapsed="0.003113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:42.268814" elapsed="0.003411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:42.268629" elapsed="0.003681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:42.257242" elapsed="0.015312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:42.244232" elapsed="0.028462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:44.276055" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:44.274949" elapsed="0.001178"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:44.276943" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:44.276323" elapsed="0.001214"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:44.276273" elapsed="0.001322"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:44.297656" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:44.297841" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:44.297955" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:44.289683" elapsed="0.008299"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:44.298415" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:44.298082" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:44.300755" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:44.298628" elapsed="0.002180"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:44.298501" elapsed="0.002342"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:44.298062" elapsed="0.002804"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:44.301006" elapsed="0.000182"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:44.304398" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:44.301571" elapsed="0.002938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:44.301444" elapsed="0.003169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:44.301264" elapsed="0.003506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:44.289047" elapsed="0.015873">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:44.273802" elapsed="0.031253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:46.308181" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:46.307158" elapsed="0.001097"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:46.309109" elapsed="0.000515"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:46.308494" elapsed="0.001222"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:46.308440" elapsed="0.001335"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:46.327492" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:46.327666" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:46.327781" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:46.320019" elapsed="0.007791"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:46.328187" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:46.327891" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:46.330679" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:46.328411" elapsed="0.002321"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:46.328268" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:46.327871" elapsed="0.002918"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:46.330928" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:46.334547" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:46.331525" elapsed="0.003132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:46.331401" elapsed="0.003423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:46.331241" elapsed="0.003674">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:46.319404" elapsed="0.015680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:46.306071" elapsed="0.029149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:48.336752" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:48.336290" elapsed="0.000500"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:48.337152" elapsed="0.000235"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:48.336886" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:48.336861" elapsed="0.000593"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:48.351707" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:48.351876" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:48.351975" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:48.343997" elapsed="0.008004"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:48.352422" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:48.352079" elapsed="0.000401"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:48.354664" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:48.352630" elapsed="0.002085"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:48.352504" elapsed="0.002245"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:48.352060" elapsed="0.002710"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:48.354895" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:48.357570" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:48.355401" elapsed="0.002302">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:48.355265" elapsed="0.002514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:48.355128" elapsed="0.002714">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:48.343570" elapsed="0.014377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:48.335797" elapsed="0.022245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:50.360829" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:50.359904" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:50.361748" elapsed="0.000306"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:50.361088" elapsed="0.001021"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:50.361039" elapsed="0.001108"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:50.380764" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:50.380927" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:50.381039" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:50.374043" elapsed="0.007023"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:50.381504" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:50.381182" elapsed="0.000380"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:50.384624" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:50.381712" elapsed="0.003063"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:50.381588" elapsed="0.003237"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:50.381128" elapsed="0.003728"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:50.385030" elapsed="0.000269"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:50.388786" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:50.385784" elapsed="0.003113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:50.385614" elapsed="0.003386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:50.385420" elapsed="0.003669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:50.373453" elapsed="0.015799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:50.358963" elapsed="0.030449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:52.392208" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:52.391306" 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-08-22T23:16:52.393037" elapsed="0.000479"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:52.392490" elapsed="0.001113"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:52.392444" elapsed="0.001215"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:52.415759" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:52.416002" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:52.416231" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:52.407471" elapsed="0.008799"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:52.416885" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:52.416423" elapsed="0.000547"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:52.420320" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:52.417196" elapsed="0.003228"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:52.417008" elapsed="0.003468"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:52.416388" elapsed="0.004120"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:52.420692" elapsed="0.000253"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:52.424998" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:52.421452" elapsed="0.003661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:52.421230" elapsed="0.003992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:52.421031" elapsed="0.004283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:52.406471" elapsed="0.019019">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:52.390429" elapsed="0.035204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:54.428926" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:54.427774" elapsed="0.001243"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:54.430066" elapsed="0.000636"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:54.429273" elapsed="0.001523"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:54.429208" elapsed="0.001648"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:54.449322" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:54.449584" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:54.449688" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:54.441148" elapsed="0.008567"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:54.450117" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:54.449803" elapsed="0.000372"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:54.452708" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:54.450328" elapsed="0.002453"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:54.450200" elapsed="0.002629"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:54.449781" elapsed="0.003078"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:54.453032" elapsed="0.000246"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:54.456859" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:54.453785" elapsed="0.003185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:54.453611" elapsed="0.003462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:54.453409" elapsed="0.003767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:54.440530" elapsed="0.016839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:54.426619" elapsed="0.030889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:56.460946" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:56.459748" elapsed="0.001278"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:56.462003" elapsed="0.000641"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:56.461290" elapsed="0.001463"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:56.461229" elapsed="0.001590"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:56.481448" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:56.481632" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:56.481748" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:56.473939" elapsed="0.007835"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:56.482171" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:56.481855" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:56.484555" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:56.482404" elapsed="0.002226"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:56.482258" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:56.481835" elapsed="0.002856"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:56.484819" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:56.488734" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:56.485547" elapsed="0.003307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:56.485377" elapsed="0.003586">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:56.485161" elapsed="0.003890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:56.473246" elapsed="0.015978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:56.458637" elapsed="0.030833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:16:58.492848" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:16:58.491701" elapsed="0.001241"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:16:58.495063" elapsed="0.000531"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:58.493166" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:58.493114" elapsed="0.002680"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:16:58.513435" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:16:58.513609" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:16:58.513716" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:16:58.506427" elapsed="0.007315"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:16:58.514214" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:16:58.513826" elapsed="0.000471"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:16:58.517475" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:16:58.514537" elapsed="0.003027"/>
</kw>
<status status="PASS" start="2026-08-22T23:16:58.514332" elapsed="0.003295"/>
</branch>
<status status="PASS" start="2026-08-22T23:16:58.513806" elapsed="0.003859"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:16:58.517847" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:16:58.522095" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:16:58.518594" elapsed="0.003605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:16:58.518423" elapsed="0.003852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:16:58.518195" elapsed="0.004164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:16:58.505974" elapsed="0.016771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:58.490546" elapsed="0.032335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:00.525769" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:00.524821" elapsed="0.001021"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:00.526684" elapsed="0.000455"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:00.526036" elapsed="0.001166"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:00.525986" elapsed="0.001252"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:00.543509" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:00.543677" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:00.543777" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:00.536223" elapsed="0.007580"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:00.544176" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:00.543883" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:00.546496" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:00.544402" elapsed="0.002147"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:00.544258" elapsed="0.002326"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:00.543864" elapsed="0.002742"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:00.546730" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:00.550417" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:00.547335" elapsed="0.003193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:00.547144" elapsed="0.003488">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:00.546958" elapsed="0.003831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:00.535804" elapsed="0.015135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:00.523837" elapsed="0.027240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:02.552730" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:02.552254" elapsed="0.000515"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:02.553144" elapsed="0.000232"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:02.552874" elapsed="0.000543"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:02.552847" elapsed="0.000597"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:02.567058" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:02.567233" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:02.567362" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:02.560380" elapsed="0.007010"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:02.567782" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:02.567488" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:02.570028" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:02.567988" elapsed="0.002100"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:02.567864" elapsed="0.002259"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:02.567468" elapsed="0.002676"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:02.570269" elapsed="0.000189"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:02.572965" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:02.570775" elapsed="0.002276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:02.570653" elapsed="0.002537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:02.570516" elapsed="0.002739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:02.559938" elapsed="0.013437">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:02.551730" elapsed="0.021746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:04.576238" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:04.575306" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:04.577142" elapsed="0.000520"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:04.576568" elapsed="0.001183"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:04.576512" elapsed="0.001296"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:04.595416" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:04.595587" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:04.595687" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:04.588577" elapsed="0.007136"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:04.596090" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:04.595794" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:04.598974" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:04.596301" elapsed="0.002747"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:04.596173" elapsed="0.002923"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:04.595774" elapsed="0.003353"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:04.599301" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:04.603365" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:04.599995" elapsed="0.003550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:04.599827" elapsed="0.003825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:04.599641" elapsed="0.004097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:04.587936" elapsed="0.015947">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:04.574403" elapsed="0.029615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:06.607007" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:06.605988" elapsed="0.001091"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:06.607912" elapsed="0.000551"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:06.607299" elapsed="0.001257"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:06.607248" elapsed="0.001366"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:06.625881" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:06.626107" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:06.626247" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:06.618511" elapsed="0.007773"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:06.626853" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:06.626422" elapsed="0.000514"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:06.630099" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:06.627147" elapsed="0.003098"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:06.626969" elapsed="0.003327"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:06.626394" elapsed="0.003931"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:06.630536" elapsed="0.000253"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:06.634422" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:06.631230" elapsed="0.003302">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:06.631062" elapsed="0.003575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:06.630869" elapsed="0.003861">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:06.618070" elapsed="0.016817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:06.604961" elapsed="0.030065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:08.637033" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:08.636439" elapsed="0.000645"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:08.637600" elapsed="0.000300"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:08.637213" elapsed="0.000743"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:08.637181" elapsed="0.000813"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:08.658921" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:08.659105" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:08.659480" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:08.650821" elapsed="0.008728"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:08.660538" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:08.659762" elapsed="0.000919"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:08.666374" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:08.661056" elapsed="0.005450"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:08.660745" elapsed="0.005903"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:08.659710" elapsed="0.006992"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:08.667011" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:08.669954" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:08.667740" elapsed="0.002298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:08.667607" elapsed="0.002509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:08.667465" elapsed="0.002716">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:08.650150" elapsed="0.020138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:08.635760" elapsed="0.034647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:10.673336" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:10.672428" elapsed="0.001012"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:10.674280" elapsed="0.000510"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:10.673633" elapsed="0.001247"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:10.673582" elapsed="0.001358"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:10.695173" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:10.695749" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:10.696055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:10.686985" elapsed="0.009135"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:10.697218" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:10.696398" elapsed="0.000992"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:10.702835" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:10.697773" elapsed="0.005181"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:10.697455" elapsed="0.005580"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:10.696305" elapsed="0.006782"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:10.703406" elapsed="0.000448"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:10.708004" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:10.704553" elapsed="0.003565">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:10.704308" elapsed="0.003917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:10.703989" elapsed="0.004327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:10.686530" elapsed="0.021964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:10.671389" elapsed="0.037244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:12.711895" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:12.710869" elapsed="0.001102"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:12.712809" elapsed="0.000476"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:12.712170" elapsed="0.001243"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:12.712119" elapsed="0.001357"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:12.732301" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:12.732696" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:12.732921" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:12.724061" elapsed="0.008919"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:12.733871" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:12.733157" elapsed="0.000843"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:12.739115" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:12.734394" elapsed="0.004838"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:12.734056" elapsed="0.005254"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:12.733114" elapsed="0.006308"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:12.739729" elapsed="0.000449"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:12.742872" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:12.740690" elapsed="0.002266">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:12.740564" elapsed="0.002468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:12.740313" elapsed="0.002783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:12.723402" elapsed="0.019800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:12.709849" elapsed="0.033532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:14.746283" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:14.745333" elapsed="0.001065"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:14.747164" elapsed="0.000763"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:14.746597" elapsed="0.001424"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:14.746547" elapsed="0.001532"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:14.764752" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:14.764976" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:14.765148" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:14.757413" elapsed="0.007774"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:14.765790" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:14.765316" elapsed="0.000558"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:14.769066" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:14.766091" elapsed="0.003049"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:14.765911" elapsed="0.003278"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:14.765285" 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-08-22T23:17:14.769422" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:14.773097" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:14.770110" elapsed="0.003072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:14.769932" elapsed="0.003327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:14.769743" elapsed="0.003580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:14.756969" elapsed="0.016546">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:14.744334" elapsed="0.029285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:16.776560" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:16.775571" elapsed="0.001065"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:16.777486" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:16.776876" elapsed="0.001172"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:16.776825" elapsed="0.001280"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:16.793283" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:16.793477" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:16.793577" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:16.786601" elapsed="0.007002"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:16.793977" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:16.793684" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:16.796231" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:16.794181" elapsed="0.002102"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:16.794058" elapsed="0.002259"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:16.793664" elapsed="0.002678"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:16.796483" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:16.800170" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:16.796969" elapsed="0.003310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:16.796845" elapsed="0.003561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:16.796711" elapsed="0.003860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:16.786163" elapsed="0.014557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:16.774597" elapsed="0.026258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:18.802824" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:18.802204" elapsed="0.000668"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:18.803380" elapsed="0.000297"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:18.802999" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:18.802967" elapsed="0.000802"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:18.820410" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:18.820579" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:18.820677" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:18.812951" elapsed="0.007751"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:18.821073" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:18.820781" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:18.823301" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:18.821275" elapsed="0.002093"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:18.821153" elapsed="0.002251"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:18.820762" elapsed="0.002663"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:18.823549" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:18.826190" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:18.824035" elapsed="0.002236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:18.823916" elapsed="0.002504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:18.823779" elapsed="0.002708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:18.812363" elapsed="0.014229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:18.801574" elapsed="0.025114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:20.829957" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:20.828807" elapsed="0.001238"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:20.831012" elapsed="0.000605"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:20.830276" elapsed="0.001411"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:20.830218" elapsed="0.001506"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:20.847813" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:20.848025" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:20.848181" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:20.840996" elapsed="0.007223"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:20.848813" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:20.848374" elapsed="0.000523"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:20.852083" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:20.849109" elapsed="0.003047"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:20.848933" elapsed="0.003271"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:20.848308" elapsed="0.003927"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:20.852448" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:20.856495" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:20.853136" elapsed="0.003545">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:20.852967" elapsed="0.003820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:20.852778" elapsed="0.004097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:20.840560" elapsed="0.016462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:20.827725" elapsed="0.029446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:22.860564" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:22.859248" elapsed="0.001391"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:22.861457" elapsed="0.000483"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:22.860836" elapsed="0.001193"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:22.860785" elapsed="0.001302"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:22.878431" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:22.878613" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:22.878728" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:22.871963" elapsed="0.006793"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:22.879220" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:22.878849" elapsed="0.000434"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:22.881577" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:22.879461" elapsed="0.002228"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:22.879310" elapsed="0.002415"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:22.878824" elapsed="0.002924"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:22.881880" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:22.885413" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:22.882412" elapsed="0.003112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:22.882261" elapsed="0.003372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:22.882120" elapsed="0.003601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:22.871537" elapsed="0.014344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:22.858163" elapsed="0.027863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:24.889124" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:24.887996" elapsed="0.001229"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:24.890211" elapsed="0.000533"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:24.889544" elapsed="0.001292"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:24.889473" elapsed="0.001421"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:24.911087" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:24.911249" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:24.911430" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:24.903983" elapsed="0.007475"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:24.911832" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:24.911538" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:24.914744" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:24.912038" elapsed="0.002778"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:24.911914" elapsed="0.002950"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:24.911519" elapsed="0.003375"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:24.915065" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:24.918794" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:24.915758" elapsed="0.003144">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:24.915591" elapsed="0.003413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:24.915404" elapsed="0.003687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:24.903387" elapsed="0.015853">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:24.887021" elapsed="0.032377">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:26.922403" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:26.921406" elapsed="0.001073"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:26.923285" elapsed="0.000571"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:26.922677" elapsed="0.001236"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:26.922627" elapsed="0.001322"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:26.943867" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:26.944180" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:26.944332" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:26.936877" elapsed="0.007522"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:26.944932" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:26.944514" elapsed="0.000498"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:26.948114" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:26.945216" elapsed="0.002970"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:26.945046" elapsed="0.003188"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:26.944486" elapsed="0.003780"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:26.948457" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:26.952147" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:26.949124" elapsed="0.003106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:26.948958" elapsed="0.003346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:26.948774" elapsed="0.003611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:26.936436" elapsed="0.016054">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:26.920379" elapsed="0.032206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:28.955785" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:28.954753" elapsed="0.001114"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:28.956683" elapsed="0.000512"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:28.956072" elapsed="0.001220"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:28.956021" elapsed="0.001356"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:28.975182" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:28.975372" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:28.975474" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:28.966514" elapsed="0.008986"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:28.975983" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:28.975579" elapsed="0.000485"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:28.979166" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:28.976271" elapsed="0.002968"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:28.976098" elapsed="0.003191"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:28.975560" elapsed="0.003759"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:28.979513" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:28.983531" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:28.980181" elapsed="0.003466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:28.980014" elapsed="0.003778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:28.979829" elapsed="0.004057">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:28.966065" elapsed="0.017965">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:28.953633" elapsed="0.030595">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:30.987162" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:30.986181" 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-08-22T23:17:30.988066" elapsed="0.000497"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:30.987465" elapsed="0.001189"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:30.987413" elapsed="0.001299"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:31.006105" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:31.006275" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:31.006402" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:30.999518" elapsed="0.006912"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:31.006868" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:31.006515" elapsed="0.000453"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:31.010111" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:31.007188" elapsed="0.002998"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:31.007011" elapsed="0.003225"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:31.006493" elapsed="0.003773"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:31.010461" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:31.014255" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:31.011134" elapsed="0.003255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:31.010966" elapsed="0.003531">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:31.010782" elapsed="0.003802">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:30.999045" elapsed="0.015775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:30.985145" elapsed="0.029811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:33.017910" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:33.016914" elapsed="0.001068"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:33.018769" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:33.018175" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:33.018123" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:33.037035" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:33.037198" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:33.037307" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:33.030210" elapsed="0.007123"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:33.037762" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:33.037436" elapsed="0.000390"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:33.040637" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:33.038005" elapsed="0.002704"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:33.037853" elapsed="0.002905"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:33.037416" elapsed="0.003373"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:33.040963" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:33.044689" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:33.041669" elapsed="0.003127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:33.041482" elapsed="0.003417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:33.041277" elapsed="0.003779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:33.029772" elapsed="0.015433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:33.015933" elapsed="0.029438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:35.048156" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:35.047235" elapsed="0.000993"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:35.049042" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:35.048452" elapsed="0.001176"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:35.048401" elapsed="0.001283"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:35.068008" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:35.068168" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:35.068266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:35.060527" elapsed="0.007765"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:35.068688" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:35.068395" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:35.071552" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:35.068935" elapsed="0.002691"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:35.068770" elapsed="0.002905"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:35.068374" elapsed="0.003331"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:35.071878" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:35.075863" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:35.072564" elapsed="0.003405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:35.072397" elapsed="0.003750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:35.072191" elapsed="0.004049">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:35.059918" elapsed="0.016485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:35.046289" elapsed="0.030252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:37.079534" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:37.078518" elapsed="0.001091"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:37.080583" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:37.079808" elapsed="0.001368"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:37.079757" elapsed="0.001476"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:37.098600" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:37.098768" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:37.098868" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:37.091733" elapsed="0.007163"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:37.099276" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:37.098976" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:37.102187" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:37.099552" elapsed="0.002708"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:37.099388" elapsed="0.002922"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:37.098956" elapsed="0.003412"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:37.102554" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:37.106364" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:37.103233" elapsed="0.003324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:37.103065" elapsed="0.003602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:37.102876" elapsed="0.003880">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:37.091062" elapsed="0.015839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:37.077538" elapsed="0.029501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:39.110085" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:39.109095" elapsed="0.001065"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:39.110959" elapsed="0.000502"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:39.110388" elapsed="0.001164"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:39.110309" elapsed="0.001302"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:39.128816" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:39.129032" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:39.129186" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:39.122099" elapsed="0.007125"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:39.129800" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:39.129362" elapsed="0.000519"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:39.132983" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:39.130097" elapsed="0.003031"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:39.129916" elapsed="0.003262"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:39.129310" elapsed="0.003899"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:39.133404" elapsed="0.000247"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:39.137209" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:39.134153" elapsed="0.003168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:39.133978" elapsed="0.003472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:39.133778" elapsed="0.003763">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:39.121656" elapsed="0.016032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:39.108084" elapsed="0.029757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:41.139938" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:41.139286" elapsed="0.000702"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:41.140505" elapsed="0.000298"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:41.140119" elapsed="0.000740"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:41.140086" elapsed="0.000811"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:41.157538" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:41.157704" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:41.157870" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:41.150222" elapsed="0.007676"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:41.158288" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:41.157980" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:41.160911" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:41.158531" elapsed="0.002454"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:41.158390" elapsed="0.002644"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:41.157960" elapsed="0.003103"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:41.161236" elapsed="0.000266"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:41.165548" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:41.161940" elapsed="0.003717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:41.161773" elapsed="0.003990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:41.161583" elapsed="0.004268">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:41.149638" elapsed="0.016358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:41.138622" elapsed="0.027508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:43.169486" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:43.168372" elapsed="0.001194"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:43.170457" elapsed="0.000538"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:43.169803" elapsed="0.001290"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:43.169747" elapsed="0.001408"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:43.188329" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:43.188618" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:43.188726" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:43.180838" elapsed="0.007915"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:43.189172" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:43.188846" elapsed="0.000385"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:43.191523" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:43.189407" elapsed="0.002168"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:43.189257" elapsed="0.002354"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:43.188823" elapsed="0.002810"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:43.191760" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:43.194438" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:43.192253" elapsed="0.002267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:43.192126" elapsed="0.002468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:43.191990" elapsed="0.002666">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:43.180376" elapsed="0.014385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:43.167258" elapsed="0.027625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:45.197812" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:45.196846" elapsed="0.001041"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:45.198690" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:45.198085" elapsed="0.001167"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:45.198034" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:45.218769" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:45.218938" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:45.219049" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:45.211128" elapsed="0.007948"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:45.219475" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:45.219156" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:45.221776" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:45.219696" elapsed="0.002133"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:45.219558" elapsed="0.002307"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:45.219137" elapsed="0.002749"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:45.222010" elapsed="0.000177"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:45.224729" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:45.222521" elapsed="0.002292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:45.222399" elapsed="0.002491">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:45.222244" elapsed="0.002709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:45.210532" elapsed="0.014528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:45.195830" elapsed="0.029444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:47.228174" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:47.227210" elapsed="0.001037"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:47.229043" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:47.228477" elapsed="0.001156"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:47.228427" elapsed="0.001263"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:47.246948" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:47.247131" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:47.247290" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:47.239954" elapsed="0.007416"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:47.248050" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:47.247501" elapsed="0.000648"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:47.251292" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:47.248383" elapsed="0.003008"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:47.248184" elapsed="0.003255"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:47.247473" elapsed="0.003996"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:47.251640" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:47.255590" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:47.252303" elapsed="0.003372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:47.252138" elapsed="0.003617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:47.251954" elapsed="0.003864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:47.239534" elapsed="0.016443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:47.226266" elapsed="0.029816">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:49.258972" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:49.258043" elapsed="0.000999"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:49.259823" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:49.259229" elapsed="0.001179"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:49.259181" elapsed="0.001285"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:49.280726" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:49.280913" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:49.281012" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:49.273105" elapsed="0.007933"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:49.281440" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:49.281120" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:49.283717" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:49.281663" elapsed="0.002105"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:49.281522" elapsed="0.002280"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:49.281100" elapsed="0.002723"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:49.283945" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:49.287202" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:49.284446" elapsed="0.002864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:49.284312" elapsed="0.003121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:49.284175" elapsed="0.003416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:49.272483" elapsed="0.015256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:49.257084" elapsed="0.030790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:51.290942" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:51.289891" elapsed="0.001135"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-08-22T23:17:51.291910" elapsed="0.000544"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:51.291249" elapsed="0.001296"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:51.291196" elapsed="0.001410"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:51.309298" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:51.309568" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:51.309722" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:51.302918" elapsed="0.006840"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:51.310283" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:51.309873" elapsed="0.000533"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:51.313620" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:51.310621" elapsed="0.003072"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:51.310443" elapsed="0.003298"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:51.309844" elapsed="0.003927"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:51.313962" elapsed="0.000250"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:51.317837" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:51.314697" elapsed="0.003282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:51.314526" elapsed="0.003664">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:51.314291" elapsed="0.004074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:51.302481" elapsed="0.016040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:51.288789" elapsed="0.029907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-22T23:17:53.321795" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-22T23:17:53.320721" 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-08-22T23:17:53.322805" elapsed="0.000509"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:53.322075" elapsed="0.001370"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:53.322013" elapsed="0.001494"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:53.344050" level="INFO">GET Request : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01km48atnraaj2otk3th1ofi325.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:53.344222" level="INFO">GET Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-22T23:17:53.344368" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:53.336993" elapsed="0.007425"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-08-22T23:17:53.344994" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-22T23:17:53.344572" elapsed="0.000502"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:53.348235" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:53.345291" elapsed="0.003016"/>
</kw>
<status status="PASS" start="2026-08-22T23:17:53.345108" elapsed="0.003270"/>
</branch>
<status status="PASS" start="2026-08-22T23:17:53.344523" elapsed="0.003886"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-08-22T23:17:53.348585" elapsed="0.000274"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:53.352679" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:53.349308" elapsed="0.003563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-08-22T23:17:53.349137" elapsed="0.003841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-22T23:17:53.348946" elapsed="0.004122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-08-22T23:17:53.336565" elapsed="0.016650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:53.319709" elapsed="0.033665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-08-22T23:17:53.353508" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-08-22T23:16:21.932536" elapsed="91.421123">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:53.353921" elapsed="0.000032"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:53.355023" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:17:53.622168" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:17:53.622617" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:17:53.622723" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:17:53.622816" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:53.354838" elapsed="0.268029"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:53.624195" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:53.623325" elapsed="0.001065"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:53.625199" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:17:53.928041" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:17:53.928455" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:17:53.928564" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:17:53.928775" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:53.624743" elapsed="0.304090"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:53.929961" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:17:53.999809" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:53.999978" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:17:54.000036" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:17:54.000087" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:53.929397" elapsed="0.070720"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.000529" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:17:54.047377" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.000374" elapsed="0.047143"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:54.061628" level="INFO">DELETE Request : url=http://10.30.171.114: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=node01km48atnraaj2otk3th1ofi325.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:54.061694" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:54.061821" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:54.047830" elapsed="0.014028"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:54.072731" level="INFO">DELETE Request : url=http://10.30.171.114: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=node01km48atnraaj2otk3th1ofi325.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:54.072934" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:17:54.073075" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:54.062058" elapsed="0.011055"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:17:53.354464" elapsed="0.718753"/>
</kw>
<doc>A Rogue Device will fail to callhome and wont be able to mount because the keys are not added in whitelist.
FAILED_NOT_ALLOWED should be the device status.</doc>
<status status="FAIL" start="2026-08-22T23:16:21.292583" elapsed="92.780709">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDcnVoCcH8tTOK5MMVJ6Mtjxm68Ff2TVL5I9Id+noWdT0kLjgXqq715ak7oox0CKcF8mdM0loLoSApUd+rryV09gRT2jFTB35Aoq7KY9Vx4MzWNm5DJIob3FIAw1riFAmzzpDFVF0BhPJPPsWNI6ItM9KCdMD9W4+4fNY25ZVsawK7Lf0RcJ4dfwvj1dfoqfvR1bowaLVRyYyNlZey+GkoWLlATPy/484eln53myNuWP6cYa+p9chlxt4Uu2efdHjO+oZ0nyW1kV/aagTdTir3IJGpge2oIsJ9MuPKn8yO7unZ38+MobaMvMGBr9javw95Mlr1SzM2bwdBJJUAV49mF","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</test>
<test id="s1-s1-t7" name="CallHome over TLS with correct certificate and key" line="131">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:54.075739" level="INFO">Creating Session using : alias=session, url=http://10.30.171.114:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7886cdc2db90&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-08-22T23:17:54.075323" elapsed="0.000677"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.076381" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-22T23:17:54.094864" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.076218" elapsed="0.018781"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.095575" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-08-22T23:17:54.233930" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.095312" elapsed="0.138761"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.234757" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-22T23:17:54.279307" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.279573" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCsuauBmMEEUj2c/KU68JvzSgV/e/d83XCvGdt9lE7KJwY/GgAWCg6nlavIPsOFKSzfXU/Ha4Id1Us8rGeTefCwdDZZ6PwsXgdayBbq84Cc+iJg1jOZyke8E2Jc+WSFFAcgfXL96g7YBLtMapNm0AORjt+O5jgieUWnZmiaAetg...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.234457" elapsed="0.045175"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-22T23:17:54.286857" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCsuauBmMEEUj2c/KU68JvzSgV/e/d83XCvGdt9lE7KJwY/GgAWCg6nlavIPsOFKSzfXU/Ha4Id1Us8rGeTefCwdDZZ6PwsXgdayBbq84Cc+iJg1jOZyke8E2Jc+WSFFAcgfXL96g7YBLtMapNm0AORjt+O5jgieUWnZmiaAetg...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-08-22T23:17:54.280048" elapsed="0.006878"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-22T23:17:54.074848" elapsed="0.212171"/>
</kw>
<kw name="Apply TLS-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Generate certificates for TLS configuration" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.288358" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-08-22T23:17:54.335277" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.335571" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>rm -rf ./certs &amp;&amp; mkdir ./certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.288200" elapsed="0.047460"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.382380" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg' -&gt; '/home/jenkins/./x509_v3.cfg'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg</arg>
<arg>./x509_v3.cfg</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:17:54.336042" elapsed="0.046484"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.383031" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-08-22T23:17:54.526007" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.526402" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/ca.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.382832" elapsed="0.143653"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.527216" level="INFO">Executing command 'openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem'.</msg>
<msg time="2026-08-22T23:17:54.585657" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.585919" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.526910" elapsed="0.059068"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.586628" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-08-22T23:17:54.725905" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.726169" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/server.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.586332" elapsed="0.139894"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.726910" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr'.</msg>
<msg time="2026-08-22T23:17:54.793532" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.793762" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.726644" elapsed="0.067174"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.794442" level="INFO">Executing command 'openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256'.</msg>
<msg time="2026-08-22T23:17:54.853554" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.853771" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.794151" elapsed="0.059676"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.854450" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-08-22T23:17:54.900159" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:54.900481" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.854180" elapsed="0.046360"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:54.901177" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-08-22T23:17:55.217890" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:55.218383" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/client.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:54.900927" elapsed="0.317539"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.219263" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr'.</msg>
<msg time="2026-08-22T23:17:55.278023" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:55.278247" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:55.218942" elapsed="0.059360"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.278902" level="INFO">Executing command 'openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256'.</msg>
<msg time="2026-08-22T23:17:55.337609" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:55.337845" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:55.278673" elapsed="0.059228"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.338691" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-08-22T23:17:55.387919" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:55.388173" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>mv ./certs ./configuration-files/certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:55.338414" elapsed="0.049819"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-08-22T23:17:54.287803" elapsed="1.100645"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.436210" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:17:55.388782" elapsed="0.047609"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.443925" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml' -&gt; '/home/jenkins/configuration-files/ietf-truststore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml</arg>
<arg>configuration-files/ietf-truststore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:17:55.436712" elapsed="0.007305"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.451364" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-08-22T23:17:55.444241" elapsed="0.007207"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-08-22T23:17:54.287286" elapsed="1.164268"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.452660" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-08-22T23:17:55.464817" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:55.465074" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCwaF549TQKX1Jr
dDNJ70/aW3F9ZwAck/8Jk9EaufOtcoxq99czfOUtqtbPYLt/EK8mg3M/+UCALh6h
5TZWsXFswNoWq/PRz9x7txAbs4SVrYQgwpuol4u95E...</msg>
<msg time="2026-08-22T23:17:55.465175" level="INFO">${stderr} = </msg>
<var>${pem-client-key}</var>
<var>${stderr}</var>
<arg>cat ./configuration-files/certs/client.key</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:55.452428" elapsed="0.012796"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-22T23:17:55.465947" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json&lt;/a&gt;'.</msg>
<msg time="2026-08-22T23:17:55.466256" level="INFO">${template} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "{pem-client-key}",
                "passphrase": ""
            }...</msg>
<var>${template}</var>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-08-22T23:17:55.465591" elapsed="0.000725"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-22T23:17:55.467222" level="INFO">${body} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwg...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{pem-client-key}</arg>
<arg>${pem-client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-08-22T23:17:55.466678" elapsed="0.000606"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:55.504779" level="INFO">POST Request : url=http://10.30.171.114: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': '1902', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCwaF549TQKX1Jr
dDNJ70/aW3F9ZwAck/8Jk9EaufOtcoxq99czfOUtqtbPYLt/EK8mg3M/+UCALh6h
5TZWsXFswNoWq/PRz9x7txAbs4SVrYQgwpuol4u95Es0MQ/M+Vs7FJVRbGsygD9F
+AIJ9DeWT5dp/cJpz7l+yQWhCcHWABp11ft10+5khO0AJR/Gv/Fm2agDm0rO0QiX
MPE2kNkBGIksM7GlAwM091SlkHxEoHuG+0T0v4cQA7QopMDosfZoxJNYx5jW15SF
BKCJoruslk3vybhNoFy6FJyTbLJikby5yW+MUJ+ez1IcQoYTGJ5Cw/Tb1isw7RJO
6VHDQZqVAgMBAAECgf9x+mjb8jVYQvChAm99yMUKvBlcaw8PSj6F16pK1cRrrUH6
HfQ3wzBt7Qoc3SB0YL7gaffzD7+dCrT7brluIU4+E96Z4WYTXfsEra6Vm4kWKMdX
WEDaHIrjWkEBiliCXeEdfxFqTySiSJOVfI5/WmHWjDmWcjYFx1Ysn/hcJtQPVcxO
WK0CeutjqkleDZuEuwF5Nk8AYwjovdajxRAHMhgBdo+eYb80kE9Xv5N7HNVxapdX
OciFjh5x8jwR/f6qU+63756pbKRVl4bqFbLPjUjPObKCWDTVKTQvz4u3PQCWSolz
Ks3cdLXzOJbU+uiZWAVim1dUNrKVQrmmB6akcKECgYEA64Pa9jWBHPJL7M90MD5a
TVXU8fIsAxjxhoCg4By8KoEatXrh+VVTu5i5t4nVvDDvdcHvFX6DnGCRu0n2iO2Z
YCQLa8NejEtYlLHuePpl62XlDeF9okYkx4BnaZNDleSBofICEpucbfvRs3Wr6egM
sD5kNAWL6v/lsIA5WoibwpkCgYEAv8BjJhlpbPUY6SYBGLST+oMfM9eQa9BrCRz6
iMoG3z5wmg3YEvEQGZ2KiqEt+4helQdBIad70R01kZ5swVwaMkS/ULz0UkBOSvfp
qxMZw6vwo8RNIccZakVc3PjYksUYTT8HabRG+Boc4htsPIwvGxLEa0YwmA15R0co
37xV0V0CgYEA0n4gn1kmsoZkEZ1AzTWNY/1Iu42khIgwpfQk1OkZzCtjgbv4Z+45
TjusETxiCTb7bpYMZ3uRiZxN48SxUaR6JpFQm9obkOxumUeGSh4SJZgGZqeYsAZd
LOm4g4WZLEj1C5bO/26RG0OsIucS5ZX+cS7yRASJD1nzIhMYL7BU9lECgYAuAM8I
tfIIFOlMDjUXI0OZR1n2CxJ3+0GipxQoOyfY6VcEbqvXJ4RwUM6LIc4xWW8vm9Tx
aQgYjERs0jBPV3RleP7ZNOv8y7a836tswqFcw2RxNcg3gVfEmi2ESiNTWvvQlH2H
y5t3LHSffmrCP/ORMDh1cBp6cEkXY6gXvUxtdQKBgFf+F1fKC+W3kWMY1nc4IpOg
DO1+3R5DpOwBo6YYws2pk9iQDy+h6DMdQisz1/6AkSkXCq9GCb+0daks4HxFLJNu
jGTTX9zUErj/AlKxaKlpHn7xvQdeXeJCfcoa29Kj0XAxnZLG5+SwPFVQdcriXQb1
DwCqWGxTuAg3HwSljM8A
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-08-22T23:17:55.505115" level="INFO">POST Response : url=http://10.30.171.114:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node018tey6p00nvzfnhqq2zlnl8as6.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 21-Aug-2026 23:17:55 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '302'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "operation-failed",
        "error-info": "Unhandled private key class org.bouncycastle.asn1.pkcs.PrivateKeyInfo",
        "error-message": "Failed to decode private key tls-device-key",
        "error-type": "application"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:17:55.505474" level="INFO">${resp} = &lt;Response [500]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-keystore-entry</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:55.467613" elapsed="0.037948"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-22T23:17:55.510910" level="FAIL">'[200, 201, 204]' does not contain '500'</msg>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-08-22T23:17:55.505917" elapsed="0.005148">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${client-key}</var>
<arg>client.key</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.511518" elapsed="0.000058"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${certificate-chain}</var>
<arg>client.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.511923" elapsed="0.000064"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.512268" elapsed="0.000046"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{client-key}</arg>
<arg>${client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.512642" elapsed="0.000046"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{certificate-chain}</arg>
<arg>${certificate-chain}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.512982" elapsed="0.000043"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-private-key</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.513300" elapsed="0.000071"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.513729" elapsed="0.000046"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${ca-certificate}</var>
<arg>ca.pem</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.514115" elapsed="0.000050"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${device-certificate}</var>
<arg>server.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.514526" elapsed="0.000028"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.514682" elapsed="0.000020"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{ca-certificate}</arg>
<arg>${ca-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.514830" elapsed="0.000019"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{device-certificate}</arg>
<arg>${device-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.514978" elapsed="0.000019"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-trusted-certificate</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.515118" elapsed="0.000019"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.515278" elapsed="0.000020"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-08-22T23:17:55.451975" elapsed="0.063595">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Register TLS call-home device in ODL controller" owner="NetconfCallHome">
<arg>netopeer2</arg>
<arg>tls-device-key</arg>
<arg>tls-device-certificate</arg>
<doc>Registration call-home device with TLS transport</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.515758" elapsed="0.000025"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.515935" elapsed="0.000022"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.516119" elapsed="0.000020"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-08-22T23:17:55.516279" elapsed="0.000019"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.517080" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-22T23:17:55.781435" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:17:55.781842" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:17:55.781960" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:17:55.782055" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:55.516915" elapsed="0.265191"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-22T23:17:55.783461" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-22T23:17:55.782637" elapsed="0.000977"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:55.784386" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-22T23:17:56.087864" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-22T23:17:56.088272" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:17:56.088422" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-08-22T23:17:56.088675" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:55.783970" elapsed="0.304768"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:56.089696" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-22T23:17:56.145322" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:56.145613" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-22T23:17:56.145711" level="INFO">${stderr} = </msg>
<msg time="2026-08-22T23:17:56.145799" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:56.089195" elapsed="0.056653"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:56.146434" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-22T23:17:56.195578" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:56.146185" elapsed="0.049644"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:56.205250" level="INFO">DELETE Request : url=http://10.30.171.114: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=node018tey6p00nvzfnhqq2zlnl8as6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:56.205521" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '270'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:17:56.205694" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:56.196277" elapsed="0.009453"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:56.212858" level="INFO">DELETE Request : url=http://10.30.171.114: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=node018tey6p00nvzfnhqq2zlnl8as6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-22T23:17:56.213023" level="INFO">DELETE Response : url=http://10.30.171.114:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-08-22T23:17:56.213182" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-22T23:17:56.205928" elapsed="0.007291"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-22T23:17:55.516618" elapsed="0.696702"/>
</kw>
<doc>Using correct certificate and key pair should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-22T23:17:54.073883" elapsed="2.139540">'[200, 201, 204]' does not contain '500'</status>
</test>
<kw name="Suite Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Uninstall Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-22T23:17:56.215374" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-08-22T23:17:56.972137" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-22T23:17:56.972553" level="INFO">${stdout} = </msg>
<msg time="2026-08-22T23:17:56.972668" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-08-22T23:17:56.972762" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>pip uninstall docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-08-22T23:17:56.215101" elapsed="0.757714"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-08-22T23:17:56.214836" elapsed="0.758178"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-08-22T23:17:56.973578" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-22T23:17:56.973373" elapsed="0.001177"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-08-22T23:17:56.974846" elapsed="0.000805"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-08-22T23:17:56.214515" elapsed="0.761291"/>
</kw>
<doc>Test suite to verify callhome functionality over SSH transport protocol. Registration in OpenDaylight
Controller happens via restconf interface. Netopeer2-server docker container plays a role of the
netconf device with call-home feature. Docker-compose file is used to configure netopeer2 docker
container(netconf configuration templates, host-key).</doc>
<status status="FAIL" start="2026-08-22T23:09:56.199564" elapsed="480.776318"/>
</suite>
<status status="FAIL" start="2026-08-22T23:09:56.160254" elapsed="480.818954"/>
</suite>
<statistics>
<total>
<stat pass="1" fail="6" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="netconf-gate-callhome.txt" id="s1" pass="1" fail="6" skip="0">netconf-gate-callhome.txt</stat>
<stat name="Callhome" id="s1-s1" pass="1" fail="6" skip="0">netconf-gate-callhome.txt.Callhome</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
