<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-07-12T00:21:53.387880" rpa="false" schemaversion="5">
<suite id="s1" name="netconf-callhome.txt" source="/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/suites/netconf/callhome">
<suite id="s1-s1" name="Callhome" source="/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/suites/netconf/callhome/callhome.robot">
<kw name="Suite Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Install Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Open_Connection_To_Tools_System" owner="SSHKeywords">
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-07-12T00:21:53.877349" 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-07-12T00:21:53.876843" elapsed="0.000548"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-07-12T00:21:53.879621" level="INFO">Length is 0.</msg>
<msg time="2026-07-12T00:21:53.879712" 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-07-12T00:21:53.879143" elapsed="0.000599"/>
</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-07-12T00:21:53.879891" elapsed="0.000388"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-07-12T00:21:53.881677" level="INFO">Logging into '10.30.170.96:22' as 'jenkins'.</msg>
<msg time="2026-07-12T00:21:54.608733" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-171-generic x86_64)

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

 System information as of Sun Jul 12 00:21:54 UTC 2026

  System load:  0.03               Processes:             106
  Usage of /:   20.6% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.170.96
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

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


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


[?2004h[jenkins@releng-50633-49-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-07-12T00:21:53.880798" elapsed="0.728123"/>
</kw>
<msg time="2026-07-12T00:21:54.609029" 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-07-12T00:21:53.880435" elapsed="0.728694"/>
</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-07-12T00:21:53.878682" elapsed="0.730593"/>
</kw>
<msg time="2026-07-12T00:21:54.609332" 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-07-12T00:21:53.878156" elapsed="0.731232"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-07-12T00:21:53.877596" elapsed="0.731894"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-07-12T00:21:54.609584" elapsed="0.000055"/>
</return>
<msg time="2026-07-12T00:21:54.609881" 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-07-12T00:21:53.876388" elapsed="0.733521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:21:54.610699" 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-07-12T00:21:54.610168" elapsed="0.000580"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-07-12T00:21:54.613567" 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-07-12T00:21:54.610893" elapsed="0.002736"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-07-12T00:21:55.029918" level="INFO">[?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0 8053k    0 32759    0     0   104k      0  0:01:17 --:--:--  0:01:17  104k100 8053k  100 8053k    0     0  20.6M      0 --:--:-- --:--:-- --:--:--  105M
[?2004h[jenkins@releng-50633-49-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-07-12T00:21:54.614922" elapsed="0.415163"/>
</kw>
<msg time="2026-07-12T00:21:55.030261" 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-07-12T00:21:54.614368" elapsed="0.415925"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:21:55.030794" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-07-12T00:21:55.053577" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:21:55.053772" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:21:55.053820" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:21:55.053885" 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-07-12T00:21:55.030515" elapsed="0.023396"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-07-12T00:21:53.873012" elapsed="1.181114"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:21:55.054906" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-07-12T00:22:03.474521" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:22:03.474956" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
399fb1102f3f: Pulling fs layer
3d97b7f99a05: Pulling fs layer
d51af753c3d3: Pulling fs layer
fc878cd0a91c: Pulling fs layer
6154df8ff988: Pulling fs laye...</msg>
<msg time="2026-07-12T00:22:03.475044" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:22:03.475120" 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-07-12T00:21:55.054700" elapsed="8.420466"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.476040" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-07-12T00:22:03.595048" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:22:03.595725" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-07-12T00:22:03.595852" level="INFO">${stderr} = WARNING: This output is designed for human readability. For machine-readable output, please use --format.</msg>
<msg time="2026-07-12T00:22:03.595973" 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-07-12T00:22:03.475617" elapsed="0.120429"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-07-12T00:21:55.054389" elapsed="8.541958"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.637124" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-07-12T00:22:03.647093" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml' -&gt; '/home/jenkins//docker-compose.yaml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:22:03.596891" elapsed="0.050390"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.655677" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh' -&gt; '/home/jenkins//init_configuration.sh'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:22:03.647820" elapsed="0.007953"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.656265" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.171.144/g' docker-compose.yaml'.</msg>
<msg time="2026-07-12T00:22:03.668710" 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-07-12T00:22:03.656005" elapsed="0.012858"/>
</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-07-12T00:22:03.693975" elapsed="0.000565"/>
</kw>
<msg time="2026-07-12T00:22:03.694653" 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-07-12T00:22:03.693592" elapsed="0.001154"/>
</kw>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return 4334 if vanadium is at least ${lower_bound},
return 6666 otherwise.</doc>
<status status="PASS" start="2026-07-12T00:22:03.693186" elapsed="0.001655"/>
</kw>
<msg time="2026-07-12T00:22:03.694890" 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-07-12T00:22:03.683879" elapsed="0.011058"/>
</kw>
<msg time="2026-07-12T00:22:03.695068" level="INFO">${netconf_cl_ssh_port} = 4334</msg>
<var>${netconf_cl_ssh_port}</var>
<arg>4334</arg>
<arg>6666</arg>
<doc>Compare sulfur to vanadium and return ${value_if_true} if vanadium is at least sulfur, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-07-12T00:22:03.682978" elapsed="0.012115"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.695439" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-07-12T00:22:03.719655" 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-07-12T00:22:03.695250" elapsed="0.024556"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.720349" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-07-12T00:22:03.767733" 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-07-12T00:22:03.720127" elapsed="0.047916"/>
</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-07-12T00:22:03.792901" elapsed="0.000537"/>
</kw>
<msg time="2026-07-12T00:22:03.793499" 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-07-12T00:22:03.792524" elapsed="0.001070"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return "connection-status":"connected" if vanadium is at least ${lower_bound},
return "netconf-node-topology:connection-status":"connected" otherwise.</doc>
<status status="PASS" start="2026-07-12T00:22:03.792190" elapsed="0.001618"/>
</kw>
<msg time="2026-07-12T00:22:03.793861" 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-07-12T00:22:03.782910" elapsed="0.011000"/>
</kw>
<msg time="2026-07-12T00:22:03.794032" level="INFO">${substring1} = "connection-status":"connected"</msg>
<var>${substring1}</var>
<arg>"connection-status":"connected"</arg>
<arg>"netconf-node-topology:connection-status":"connected"</arg>
<doc>Compare scandium to vanadium and return ${value_if_true} if vanadium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-07-12T00:22:03.782330" elapsed="0.011728"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.794575" 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-07-12T00:22:03.794263" elapsed="0.000340"/>
</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-07-12T00:22:03.809501" elapsed="0.000475"/>
</kw>
<msg time="2026-07-12T00:22:03.810031" 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-07-12T00:22:03.809114" elapsed="0.000972"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return "available-capabilities" if vanadium is at least ${lower_bound},
return "netconf-node-topology:available-capabilities" otherwise.</doc>
<status status="PASS" start="2026-07-12T00:22:03.808784" elapsed="0.001382"/>
</kw>
<msg time="2026-07-12T00:22:03.810210" 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-07-12T00:22:03.801656" elapsed="0.008607"/>
</kw>
<msg time="2026-07-12T00:22:03.810373" level="INFO">${substring3} = "available-capabilities"</msg>
<var>${substring3}</var>
<arg>"available-capabilities"</arg>
<arg>"netconf-node-topology:available-capabilities"</arg>
<doc>Compare scandium to vanadium and return ${value_if_true} if vanadium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-07-12T00:22:03.801379" elapsed="0.009020"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.810971" 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-07-12T00:22:03.810589" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.811545" 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-07-12T00:22:03.811165" elapsed="0.000441"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.815075" level="INFO">${CREATE_GLOBAL_CREDENTIALS_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</msg>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.811762" elapsed="0.003364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.818841" level="INFO">${CREATE_SSH_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.815285" elapsed="0.003606"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.822055" level="INFO">${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.819050" elapsed="0.003054"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.825952" level="INFO">${CREATE_TLS_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</msg>
<arg>${CREATE_TLS_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.822264" elapsed="0.003739"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.829690" level="INFO">${ADD_KEYSTORE_ENTRY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</msg>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.826159" elapsed="0.003581"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.833594" level="INFO">${ADD_PRIVATE_KEY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</msg>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.829897" elapsed="0.003747"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:03.837282" level="INFO">${ADD_TRUSTED_CERTIFICATE} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</msg>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-07-12T00:22:03.833843" elapsed="0.003490"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:03.837616" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-07-12T00:22:04.073610" 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-07-12T00:22:03.837476" elapsed="0.236404"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:04.074799" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-07-12T00:22:04.123659" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:22:04.123939" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBr...</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-07-12T00:22:04.074412" elapsed="0.049588"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:04.133587" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBr...</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-07-12T00:22:04.124432" elapsed="0.009265"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-07-12T00:21:53.872689" elapsed="10.261146"/>
</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-07-12T00:22:04.135977" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c894a3b9010&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-07-12T00:22:04.135573" elapsed="0.000725"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:04.136659" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:22:04.175500" 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-07-12T00:22:04.136498" elapsed="0.039168"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:04.176197" 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-07-12T00:22:04.440631" 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-07-12T00:22:04.175978" elapsed="0.264968"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:04.441876" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:22:04.488664" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:22:04.488950" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6Vuub...</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-07-12T00:22:04.441474" elapsed="0.047540"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:04.496308" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6Vuub...</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-07-12T00:22:04.489408" elapsed="0.006979"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:22:04.135153" elapsed="0.361335"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:22:04.536730" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:22:04.497220" elapsed="0.039699"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:22:04.544785" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:22:04.537265" elapsed="0.007604"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-07-12T00:22:04.496823" elapsed="0.048135"/>
</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-07-12T00:22:04.550492" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:04.545884" elapsed="0.004777"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:22:04.551502" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:22:04.551733" 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-07-12T00:22:04.551285" elapsed="0.000486"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:22:04.552463" 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-07-12T00:22:04.551994" elapsed="0.000548"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:04.550917" elapsed="0.001707"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:04.550711" elapsed="0.001946"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:04.545836" elapsed="0.006853"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:22:04.553263" 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-07-12T00:22:04.552904" elapsed="0.000397"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:22:04.553849" 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-07-12T00:22:04.553500" elapsed="0.000387"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:22:04.554399" 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-07-12T00:22:04.554084" elapsed="0.000351"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:22:04.554965" 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-07-12T00:22:04.554652" elapsed="0.000350"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:05.405827" level="INFO">POST Request : url=http://10.30.171.144: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:22:05.406025" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:22:05 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:05.406313" 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-07-12T00:22:04.555186" elapsed="0.851190"/>
</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-07-12T00:22:05.406889" elapsed="0.004151"/>
</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-07-12T00:22:04.545327" elapsed="0.865813"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:22:05.411649" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-07-12T00:22:05.688846" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:22:05.689417" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:22:05.689630" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:22:05.689782" 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-07-12T00:22:05.411365" elapsed="0.278496"/>
</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-07-12T00:22:05.693704" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:05.693160" elapsed="0.000582"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:05.694361" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:05.693975" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:05.693935" elapsed="0.000549"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:05.728791" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:05.729748" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:05.729857" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:05.702916" elapsed="0.026967"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:05.730276" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:05.729967" elapsed="0.000366"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:05.732694" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:05.730484" elapsed="0.002263"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:05.730359" elapsed="0.002422"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:05.729945" elapsed="0.002860"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:05.732931" elapsed="0.000226"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:05.733512" elapsed="0.002370"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:05.733387" elapsed="0.002536"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:05.738510" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:05.736147" elapsed="0.002583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:05.736011" elapsed="0.002807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:05.733227" elapsed="0.005690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:05.702480" elapsed="0.036570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:05.692465" elapsed="0.046718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:07.742172" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:07.741211" 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-07-12T00:22:07.743160" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:07.742478" elapsed="0.000818"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:07.742422" elapsed="0.000934"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:07.763770" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:07.764154" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:07.764297" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:07.753415" elapsed="0.010918"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:07.764906" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:07.764453" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:07.768122" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:07.765199" elapsed="0.003024"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:07.765020" elapsed="0.003268"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:07.764422" elapsed="0.003912"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:07.768598" elapsed="0.000330"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:07.769596" elapsed="0.003670"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:07.769330" elapsed="0.003987"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:07.776192" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:07.773601" elapsed="0.002693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:07.773430" elapsed="0.002946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:07.769050" elapsed="0.007465">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:07.752766" elapsed="0.023889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:07.740196" elapsed="0.036562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:09.779783" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:09.778818" elapsed="0.001038"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:09.780661" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:09.780057" elapsed="0.000735"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:09.780008" elapsed="0.000840"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:09.802838" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:09.803205" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:09.803368" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:09.793337" elapsed="0.010079"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:09.803990" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:09.803569" elapsed="0.000500"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:09.807342" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:09.804277" elapsed="0.003140"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:09.804105" elapsed="0.003360"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:09.803516" elapsed="0.003980"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:09.807694" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:09.808438" elapsed="0.003240"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:09.808267" elapsed="0.003470"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:09.815242" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:09.812026" elapsed="0.003407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:09.811860" elapsed="0.003726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:09.808058" elapsed="0.007623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:09.792913" elapsed="0.022920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:09.777756" elapsed="0.038208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:11.819225" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:11.818171" 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="NOT RUN" start="2026-07-12T00:22:11.820164" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:11.819516" elapsed="0.000790"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:11.819460" elapsed="0.000907"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:11.839814" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:11.840124" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:11.840264" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:11.830022" elapsed="0.010271"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:11.840819" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:11.840406" elapsed="0.000497"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:11.843383" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:11.841103" elapsed="0.002418"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:11.840935" elapsed="0.002638"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:11.840379" elapsed="0.003216"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:11.843722" elapsed="0.000179"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:11.844286" elapsed="0.002898"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:11.844148" elapsed="0.003099"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:11.851027" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:11.847584" elapsed="0.003577">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:11.847382" elapsed="0.003904">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:11.843971" elapsed="0.007411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:11.829412" elapsed="0.022152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:11.817116" elapsed="0.034600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:13.855332" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:13.854292" elapsed="0.001120"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:13.856393" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:13.855726" elapsed="0.000841"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:13.855669" elapsed="0.000965"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:13.878145" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:13.878867" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:13.879380" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:13.867499" elapsed="0.011952"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:13.880721" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:13.879861" elapsed="0.000964"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:13.884627" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:13.881106" elapsed="0.003596"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:13.880869" elapsed="0.003882"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:13.879722" elapsed="0.005060"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:13.884968" 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-07-12T00:22:13.885813" elapsed="0.003132"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:13.885602" elapsed="0.003401"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:13.892415" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:13.889290" elapsed="0.003256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:13.889126" elapsed="0.003508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:13.885342" elapsed="0.007356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:13.867054" elapsed="0.025781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:13.853020" elapsed="0.039923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:15.895819" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:15.894892" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:15.896652" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:15.896074" elapsed="0.000807"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:15.896029" elapsed="0.000914"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:15.917718" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:15.917991" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:15.918121" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:15.908005" elapsed="0.010143"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:15.918607" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:15.918244" elapsed="0.000423"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:15.923378" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:15.918875" elapsed="0.004620"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:15.918734" elapsed="0.004873"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:15.918221" elapsed="0.005437"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:15.923933" 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-07-12T00:22:15.925083" elapsed="0.005766"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:15.924793" elapsed="0.006191"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:15.936817" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:15.931629" elapsed="0.005373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:15.931228" elapsed="0.005936">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:15.924456" elapsed="0.012846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:15.907323" elapsed="0.030325">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:15.893936" elapsed="0.044047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:17.941816" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:17.940865" 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-07-12T00:22:17.942667" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:17.942075" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:17.942028" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:17.963853" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:17.964335" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:17.964587" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:17.953311" elapsed="0.011336"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:17.965469" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:17.964825" elapsed="0.000850"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:17.970829" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:17.966031" elapsed="0.004916"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:17.965743" elapsed="0.005283"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:17.964783" elapsed="0.006290"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:17.971348" elapsed="0.000406"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:17.972455" elapsed="0.005366"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:17.972191" elapsed="0.005725"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:17.980591" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:17.978364" elapsed="0.002315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:17.978101" elapsed="0.002654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:17.971887" elapsed="0.008982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:17.952733" elapsed="0.028241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:17.939883" elapsed="0.041194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:19.985721" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:19.984738" 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-07-12T00:22:19.986607" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:19.986005" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:19.985955" elapsed="0.000843"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:20.006487" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:20.007070" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:20.007299" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:19.997105" elapsed="0.010252"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:20.008252" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:20.007565" elapsed="0.000820"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:20.014020" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:20.008893" elapsed="0.005247"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:20.008450" elapsed="0.005768"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:20.007493" elapsed="0.006772"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:20.014573" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:20.015749" elapsed="0.003191"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:20.015424" elapsed="0.003558"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:20.021553" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:20.019184" elapsed="0.002589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:20.019064" elapsed="0.002813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:20.015108" elapsed="0.006871">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:19.996407" elapsed="0.025691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:19.983695" elapsed="0.038520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:22.025237" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:22.024237" 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-07-12T00:22:22.026276" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:22.025510" elapsed="0.000924"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:22.025462" elapsed="0.001034"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:22.049845" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:22.050113" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:22.050247" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:22.039314" elapsed="0.010961"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:22.050746" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:22.050377" elapsed="0.000430"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:22.053157" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:22.050964" elapsed="0.002303"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:22.050834" elapsed="0.002469"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:22.050352" elapsed="0.002972"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:22.053452" 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-07-12T00:22:22.053998" elapsed="0.002451"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:22.053861" elapsed="0.002636"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:22.059167" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:22.056772" elapsed="0.002518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:22.056611" elapsed="0.002795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:22.053717" elapsed="0.007441">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:22.038866" elapsed="0.023426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:22.023172" elapsed="0.039241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:24.066067" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:24.065106" 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-07-12T00:22:24.067002" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:24.066331" elapsed="0.000802"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:24.066285" elapsed="0.000906"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:24.087087" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:24.087360" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:24.087545" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:24.077294" elapsed="0.010302"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:24.088430" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:24.087772" elapsed="0.000817"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:24.094094" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:24.088933" elapsed="0.005277"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:24.088646" elapsed="0.005640"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:24.087731" elapsed="0.006603"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:24.094669" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:24.095750" elapsed="0.003798"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:24.095459" elapsed="0.004131"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:24.102022" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:24.099793" elapsed="0.002310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:24.099674" elapsed="0.002505">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:24.095167" elapsed="0.007074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:24.076673" elapsed="0.025685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:24.064106" elapsed="0.038349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:26.112411" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:26.111404" 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-07-12T00:22:26.113363" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:26.112724" elapsed="0.000928"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:26.112675" elapsed="0.001022"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:26.127836" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:26.128637" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:26.128780" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:26.120412" elapsed="0.008397"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:26.129356" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:26.128926" elapsed="0.000494"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:26.131936" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:26.129644" elapsed="0.002349"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:26.129448" elapsed="0.002580"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:26.128897" elapsed="0.003153"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:26.132196" 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-07-12T00:22:26.132734" elapsed="0.002936"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:26.132597" elapsed="0.003136"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:26.139368" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:26.136034" elapsed="0.003448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:26.135855" elapsed="0.003757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:26.132435" elapsed="0.007270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:26.119903" elapsed="0.019968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:26.109949" elapsed="0.030135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:28.143075" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:28.142100" 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-07-12T00:22:28.143968" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:28.143343" elapsed="0.000764"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:28.143295" elapsed="0.000871"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:28.165122" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:28.165380" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:28.165498" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:28.154570" elapsed="0.010976"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:28.165952" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:28.165632" elapsed="0.000380"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:28.168630" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:28.166185" elapsed="0.002500"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:28.166037" elapsed="0.002685"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:28.165613" elapsed="0.003136"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:28.168941" elapsed="0.000477"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:28.169930" elapsed="0.003324"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:28.169757" elapsed="0.003558"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:28.176854" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:28.173655" elapsed="0.003339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:28.173437" elapsed="0.003669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:28.169518" elapsed="0.007741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:28.153957" elapsed="0.023461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:28.141116" elapsed="0.036506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:30.180418" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:30.179500" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:30.181248" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:30.180697" elapsed="0.000677"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:30.180653" elapsed="0.000775"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:30.201046" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:30.201400" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:30.201591" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:30.191682" elapsed="0.009950"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:30.202280" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:30.201780" elapsed="0.000586"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:30.207982" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:30.202634" elapsed="0.005429"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:30.202403" elapsed="0.005712"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:30.201744" elapsed="0.006404"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:30.208334" 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-07-12T00:22:30.209066" elapsed="0.003142"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:30.208889" elapsed="0.003360"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:30.214671" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:30.212451" elapsed="0.002380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:30.212331" elapsed="0.002575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:30.208693" elapsed="0.006274">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:30.191124" elapsed="0.023947">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:30.178588" elapsed="0.036600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:32.217975" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:32.217071" elapsed="0.000970"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:32.218827" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:32.218250" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:32.218204" elapsed="0.000805"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:32.238262" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:32.238507" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:32.238629" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:32.229629" elapsed="0.009027"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:32.239023" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:32.238734" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:32.241336" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:32.239230" elapsed="0.002219"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:32.239105" elapsed="0.002384"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:32.238715" elapsed="0.002796"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:32.241656" 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-07-12T00:22:32.242172" elapsed="0.002772"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:32.242022" elapsed="0.002979"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:32.248360" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:32.245279" elapsed="0.003185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:32.245115" elapsed="0.003471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:32.241887" elapsed="0.006786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:32.229035" elapsed="0.019780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:32.216122" elapsed="0.032828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:34.251868" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:34.250945" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:34.252716" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:34.252123" elapsed="0.000728"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:34.252077" elapsed="0.000829"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:34.275515" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:34.275795" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:34.275969" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:34.266997" 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-07-12T00:22:34.276571" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:34.276122" elapsed="0.000536"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:34.280050" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:34.276875" elapsed="0.003251"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:34.276694" elapsed="0.003482"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:34.276095" elapsed="0.004113"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:34.280388" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:34.281133" elapsed="0.003259"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:34.280943" elapsed="0.003509"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:34.287400" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:34.284772" elapsed="0.002709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:34.284595" elapsed="0.002977">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:34.280745" elapsed="0.006889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:34.266579" elapsed="0.021158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:34.249972" elapsed="0.037860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:36.290687" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:36.289767" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:36.291503" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:36.290946" elapsed="0.000818"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:36.290901" elapsed="0.000923"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:36.311109" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:36.311433" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:36.311599" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:36.303484" elapsed="0.008153"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:36.312181" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:36.311749" elapsed="0.000513"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:36.315406" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:36.312471" elapsed="0.003009"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:36.312296" elapsed="0.003252"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:36.311724" elapsed="0.003856"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:36.315754" elapsed="0.000256"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:36.316441" elapsed="0.004509"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:36.316276" elapsed="0.004769"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:36.323616" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:36.321321" elapsed="0.002375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:36.321166" elapsed="0.002604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:36.316089" elapsed="0.007742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:36.303065" elapsed="0.020881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:36.288837" elapsed="0.035270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:38.327069" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:38.326090" 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-07-12T00:22:38.327919" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:38.327330" elapsed="0.000717"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:38.327283" elapsed="0.000819"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:38.349696" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:38.349948" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:38.350048" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:38.340762" elapsed="0.009312"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:38.350615" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:38.350165" elapsed="0.000535"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:38.354115" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:38.350940" elapsed="0.003252"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:38.350736" elapsed="0.003508"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:38.350138" elapsed="0.004137"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:38.354464" elapsed="0.000271"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:38.355212" elapsed="0.003255"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:38.355037" elapsed="0.003511"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:38.362167" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:38.358848" elapsed="0.003400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:38.358671" elapsed="0.003653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:38.354819" elapsed="0.007639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:38.340332" elapsed="0.022257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:38.325121" elapsed="0.037566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:40.365165" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:40.364146" elapsed="0.001100"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:40.366184" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:40.365454" elapsed="0.000830"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:40.365404" elapsed="0.000916"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:40.384794" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:40.385043" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:40.385158" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:40.375975" elapsed="0.009210"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:40.385586" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:40.385265" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:40.390117" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:40.385826" elapsed="0.004408"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:40.385669" elapsed="0.004641"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:40.385246" elapsed="0.005112"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:40.390663" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:40.391763" elapsed="0.005170"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:40.391466" elapsed="0.005565"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:40.400422" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:40.397494" elapsed="0.003097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:40.397222" elapsed="0.003449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:40.391170" elapsed="0.009563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:40.375360" elapsed="0.025482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:40.363444" elapsed="0.037497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:42.403713" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:42.402794" 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-07-12T00:22:42.404522" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:42.403967" elapsed="0.000717"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:42.403922" elapsed="0.000818"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:42.423871" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:42.424116" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:42.424216" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:42.414105" elapsed="0.010137"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:42.424624" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:42.424319" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:42.429052" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:42.424870" elapsed="0.004390"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:42.424706" elapsed="0.004632"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:42.424301" elapsed="0.005085"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:42.429695" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:42.430794" elapsed="0.005352"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:42.430500" elapsed="0.005736"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:42.439280" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:42.436710" elapsed="0.002655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:42.436417" elapsed="0.003024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:42.430203" elapsed="0.009299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:42.413513" elapsed="0.026107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:42.401865" elapsed="0.037852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:44.442608" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:44.441674" 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-07-12T00:22:44.443436" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:44.442876" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:44.442826" elapsed="0.000831"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:44.464009" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:44.464262" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:44.464422" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:44.454642" elapsed="0.009807"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:44.464847" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:44.464551" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:44.467176" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:44.465054" elapsed="0.002174"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:44.464929" elapsed="0.002334"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:44.464510" elapsed="0.002775"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:44.467408" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:44.467937" elapsed="0.002933"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:44.467817" elapsed="0.003110"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:44.474398" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:44.471208" elapsed="0.003297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:44.471040" elapsed="0.003596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:44.467656" elapsed="0.007064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:44.454047" elapsed="0.020814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:44.440675" elapsed="0.034316">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:46.477838" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:46.476902" 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-07-12T00:22:46.478753" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:46.478105" elapsed="0.000881"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:46.478056" elapsed="0.000992"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:46.500471" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:46.500743" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:46.500854" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:46.490269" elapsed="0.010611"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:46.501253" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:46.500960" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:46.503778" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:46.501457" elapsed="0.002440"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:46.501334" elapsed="0.002641"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:46.500942" elapsed="0.003082"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:46.504299" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:46.505387" elapsed="0.004960"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:46.505125" elapsed="0.005315"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:46.515913" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:46.510940" elapsed="0.005051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:46.510674" elapsed="0.005392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:46.504830" elapsed="0.011297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:46.489684" elapsed="0.026547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:46.475939" elapsed="0.040431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:48.520285" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:48.519035" elapsed="0.001343"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:48.521443" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:48.520679" elapsed="0.000982"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:48.520610" elapsed="0.001111"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:48.541013" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:48.541280" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:48.541400" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:48.531356" elapsed="0.010077"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:48.541917" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:48.541516" elapsed="0.000462"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:48.544756" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:48.542138" elapsed="0.002693"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:48.542003" elapsed="0.002875"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:48.541496" elapsed="0.003406"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:48.545040" elapsed="0.000186"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:22:48.545622" elapsed="0.002876"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:48.545437" elapsed="0.003146"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:48.552140" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:48.548873" elapsed="0.003383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:48.548705" elapsed="0.003660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:48.545291" elapsed="0.007231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:48.530758" elapsed="0.021949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:48.517687" elapsed="0.035154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:50.555622" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:50.554703" 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-07-12T00:22:50.556439" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:50.555879" elapsed="0.000778"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:50.555833" elapsed="0.000883"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:50.575308" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:50.575606" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:50.575715" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:50.566221" 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-07-12T00:22:50.576136" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:50.575824" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:50.578547" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:50.576342" elapsed="0.002259"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:50.576217" elapsed="0.002417"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:50.575805" elapsed="0.002850"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:50.578779" 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-07-12T00:22:50.579281" elapsed="0.002219"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:50.579157" elapsed="0.002399"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:50.585183" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:50.581829" elapsed="0.003539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:50.581648" elapsed="0.003831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:50.579015" elapsed="0.006583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:50.565642" elapsed="0.020119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:50.553772" elapsed="0.032124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:52.588753" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:52.587830" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:22:52.589692" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:52.589009" elapsed="0.000869"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:52.588964" elapsed="0.000994"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:52.609027" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:52.609403" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:52.609603" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:52.600805" elapsed="0.008849"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:52.610258" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:52.609802" elapsed="0.000538"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:52.613738" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:52.610604" elapsed="0.003290"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:52.610377" elapsed="0.003569"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:52.609770" elapsed="0.004207"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:52.614177" 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-07-12T00:22:52.614937" elapsed="0.003211"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:52.614755" elapsed="0.003453"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:52.621816" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:52.618520" elapsed="0.003453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:52.618325" elapsed="0.003778">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:52.614512" elapsed="0.007690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:52.600336" elapsed="0.022042">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:52.586874" elapsed="0.035687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:54.626315" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:54.625255" 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-07-12T00:22:54.627304" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:54.626702" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:54.626644" elapsed="0.000848"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:54.647399" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:54.647732" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:54.647943" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:54.640348" elapsed="0.007622"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:54.648359" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:54.648051" elapsed="0.000366"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:54.651040" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:54.648584" elapsed="0.002530"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:54.648441" elapsed="0.002722"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:54.648032" elapsed="0.003162"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:54.651366" 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-07-12T00:22:54.652078" elapsed="0.003150"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:54.651911" elapsed="0.003374"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:54.658778" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:54.655588" elapsed="0.003311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:54.655402" elapsed="0.003608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:54.651716" elapsed="0.007387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:54.639925" elapsed="0.019329">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:54.623829" elapsed="0.035556">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:56.662684" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:56.661669" 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-07-12T00:22:56.663593" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:56.662974" elapsed="0.001127"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:56.662924" elapsed="0.001388"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:56.685994" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:56.686280" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:56.686420" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:56.677337" elapsed="0.009110"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:56.687085" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:56.686617" elapsed="0.000532"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:56.689715" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:56.687334" elapsed="0.002436"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:56.687180" elapsed="0.002626"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:56.686577" elapsed="0.003252"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:56.690015" 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-07-12T00:22:56.690840" elapsed="0.003333"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:56.690625" elapsed="0.003610"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:56.697892" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:56.694565" elapsed="0.003447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:56.694361" elapsed="0.003762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:56.690381" elapsed="0.007833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:56.676339" elapsed="0.022047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:56.660520" elapsed="0.038112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:58.701426" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:22:58.700507" 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-07-12T00:22:58.702264" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:58.701712" elapsed="0.000679"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:58.701666" elapsed="0.000779"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:22:58.723692" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:22:58.723953" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:22:58.724072" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:22:58.716111" elapsed="0.007988"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:22:58.724660" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:22:58.724183" elapsed="0.000538"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:22:58.727877" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:22:58.724887" elapsed="0.003065"/>
</kw>
<status status="PASS" start="2026-07-12T00:22:58.724746" elapsed="0.003255"/>
</branch>
<status status="PASS" start="2026-07-12T00:22:58.724162" elapsed="0.003869"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:22:58.728203" 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-07-12T00:22:58.728946" elapsed="0.003067"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:22:58.728779" elapsed="0.003292"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:22:58.735424" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:58.732366" elapsed="0.003180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:58.732185" elapsed="0.003468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:22:58.728586" elapsed="0.007228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:58.715507" elapsed="0.020456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:58.699518" elapsed="0.036579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:00.740050" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:00.738971" elapsed="0.001166"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:00.741020" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:00.740365" elapsed="0.000794"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:00.740315" elapsed="0.000910"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:00.762491" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:00.762794" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:00.762903" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:00.751713" elapsed="0.011224"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:00.763364" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:00.763024" elapsed="0.000399"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:00.768415" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:00.763592" elapsed="0.005010"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:00.763448" elapsed="0.005238"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:00.763005" elapsed="0.005729"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:00.769026" 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-07-12T00:23:00.770239" elapsed="0.003329"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:00.769967" elapsed="0.003644"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:00.776090" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:00.773819" elapsed="0.002448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:00.773698" elapsed="0.002652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:00.769620" elapsed="0.006794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:00.751044" elapsed="0.025478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:00.737845" elapsed="0.038793">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:02.778709" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:02.778049" elapsed="0.000713"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:02.779270" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:02.778905" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:02.778871" elapsed="0.000516"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:02.798025" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:02.798377" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:02.798521" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:02.789093" elapsed="0.009492"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:02.799117" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:02.798701" elapsed="0.000495"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:02.802479" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:02.799409" elapsed="0.003226"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:02.799230" elapsed="0.003458"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:02.798673" elapsed="0.004045"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:02.802906" elapsed="0.000247"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:02.803658" elapsed="0.003161"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:02.803458" elapsed="0.003420"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:02.810333" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:02.807185" elapsed="0.003257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:02.807013" elapsed="0.003554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:02.803236" elapsed="0.007421">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:02.788606" elapsed="0.022195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:02.777358" elapsed="0.033578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:04.814320" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:04.812990" elapsed="0.001418"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:04.815276" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:04.814650" elapsed="0.000763"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:04.814597" elapsed="0.000872"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:04.835442" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:04.835722" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:04.836201" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:04.829136" elapsed="0.007094"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:04.836662" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:04.836319" elapsed="0.000407"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:04.840164" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:04.836980" elapsed="0.003279"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:04.836757" elapsed="0.003565"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:04.836298" elapsed="0.004062"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:04.840589" elapsed="0.000310"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:04.841574" elapsed="0.004119"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:04.841300" elapsed="0.004465"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:04.848909" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:04.846093" elapsed="0.002927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:04.845910" elapsed="0.003209">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:04.841007" elapsed="0.008198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:04.828675" elapsed="0.020645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:04.811882" elapsed="0.037564">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:06.852994" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:06.851426" elapsed="0.001653"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:06.853944" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:06.853300" elapsed="0.000892"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:06.853249" elapsed="0.001009"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:06.875449" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:06.875810" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:06.875950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:06.867023" elapsed="0.008962"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:06.876624" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:06.876092" elapsed="0.000612"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:06.881879" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:06.876912" elapsed="0.005040"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:06.876738" elapsed="0.005262"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:06.876067" elapsed="0.005965"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:06.882203" 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-07-12T00:23:06.882898" elapsed="0.002600"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:06.882730" elapsed="0.002824"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:06.887967" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:06.885759" elapsed="0.002287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:06.885639" elapsed="0.002493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:06.882518" elapsed="0.005675">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:06.866604" elapsed="0.021691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:06.850414" elapsed="0.038007">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:08.891933" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:08.890831" elapsed="0.001181"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:08.892874" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:08.892243" elapsed="0.000760"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:08.892184" elapsed="0.000881"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:08.913823" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:08.914263" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:08.914413" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:08.904494" elapsed="0.009957"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:08.915040" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:08.914592" elapsed="0.000561"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:08.918730" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:08.915385" elapsed="0.003424"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:08.915189" elapsed="0.003672"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:08.914564" elapsed="0.004328"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:08.919108" elapsed="0.000274"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:08.919883" elapsed="0.003330"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:08.919708" elapsed="0.003569"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:08.925741" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:08.923493" elapsed="0.002354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:08.923374" elapsed="0.002559">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:08.919475" elapsed="0.006600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:08.904066" elapsed="0.022130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:08.889657" elapsed="0.036636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:10.929688" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:10.928731" 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-07-12T00:23:10.930589" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:10.929965" elapsed="0.000758"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:10.929916" elapsed="0.000863"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:10.948003" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:10.948261" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:10.948373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:10.939720" elapsed="0.008678"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:10.948805" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:10.948478" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:10.952041" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:10.949018" elapsed="0.003097"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:10.948885" elapsed="0.003278"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:10.948460" elapsed="0.003732"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:10.952372" elapsed="0.000286"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:10.953097" elapsed="0.003063"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:10.952930" elapsed="0.003289"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:10.959346" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:10.956499" elapsed="0.003000">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:10.956334" elapsed="0.003256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:10.952742" elapsed="0.006910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:10.939290" elapsed="0.020464">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:10.927707" elapsed="0.032143">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:12.962041" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:12.961429" elapsed="0.000660"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:12.962598" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:12.962214" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:12.962182" elapsed="0.000533"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:12.981064" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:12.981385" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:12.981524" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:12.971994" elapsed="0.009597"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:12.982110" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:12.981703" elapsed="0.000484"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:12.985387" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:12.982398" elapsed="0.003149"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:12.982222" elapsed="0.003377"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:12.981676" elapsed="0.003954"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:12.985801" 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-07-12T00:23:12.986468" elapsed="0.003370"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:12.986305" elapsed="0.003575"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:12.992306" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:12.990085" elapsed="0.002299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:12.989965" elapsed="0.002494">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:12.986118" elapsed="0.006402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:12.971390" elapsed="0.021256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:12.960760" elapsed="0.031982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:14.995720" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:14.994797" 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-07-12T00:23:14.996594" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:14.995998" elapsed="0.000729"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:14.995930" elapsed="0.000852"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:15.016396" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:15.016684" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:15.016851" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:15.007812" elapsed="0.009066"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:15.017248" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:15.016956" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:15.019566" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:15.017454" elapsed="0.002165"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:15.017329" elapsed="0.002327"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:15.016938" elapsed="0.002741"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:15.019802" elapsed="0.000203"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:15.020321" elapsed="0.002990"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:15.020202" elapsed="0.003165"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:15.026759" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:15.023685" elapsed="0.003180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:15.023481" elapsed="0.003484">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:15.020065" elapsed="0.006984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:15.007379" elapsed="0.019811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:14.993823" elapsed="0.033502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:17.030249" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:17.029307" 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-07-12T00:23:17.031153" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:17.030509" elapsed="0.000883"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:17.030461" elapsed="0.000993"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:17.049819" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:17.050074" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:17.050191" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:17.041059" elapsed="0.009159"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:17.050629" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:17.050303" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:17.054605" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:17.050842" elapsed="0.003882"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:17.050713" elapsed="0.004087"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:17.050284" elapsed="0.004563"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:17.055139" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:17.056232" elapsed="0.004948"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:17.055967" elapsed="0.005304"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:17.065232" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:17.061760" elapsed="0.003552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:17.061454" elapsed="0.003933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:17.055672" elapsed="0.009776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:17.040458" elapsed="0.025111">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:17.028319" elapsed="0.037396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:19.068776" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:19.067815" 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-07-12T00:23:19.069645" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:19.069047" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:19.068997" elapsed="0.000841"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:19.094414" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:19.094718" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:19.094839" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:19.085359" elapsed="0.009507"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:19.095364" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:19.094980" elapsed="0.000443"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:19.097811" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:19.095598" elapsed="0.002266"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:19.095452" elapsed="0.002476"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:19.094951" elapsed="0.003000"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:19.098076" 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-07-12T00:23:19.098621" elapsed="0.002458"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:19.098468" elapsed="0.002653"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:19.103558" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:19.101326" elapsed="0.002315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:19.101205" elapsed="0.002513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:19.098320" elapsed="0.005533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:19.084560" elapsed="0.019402">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:19.066812" elapsed="0.037249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:21.107239" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:21.106182" elapsed="0.001139"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:21.108126" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:21.107557" elapsed="0.000699"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:21.107479" elapsed="0.000832"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:21.126575" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:21.126830" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:21.127028" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:21.118375" elapsed="0.008709"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:21.127940" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:21.127259" elapsed="0.000808"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:21.133283" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:21.128392" elapsed="0.005008"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:21.128121" elapsed="0.005356"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:21.127217" elapsed="0.006347"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:21.133862" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:21.134981" elapsed="0.003320"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:21.134718" elapsed="0.003624"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:21.140762" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:21.138557" elapsed="0.002354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:21.138425" elapsed="0.002583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:21.134373" elapsed="0.006706">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:21.117690" elapsed="0.023528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:21.105059" elapsed="0.036263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:23.144302" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:23.143327" 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-07-12T00:23:23.145228" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:23.144595" elapsed="0.000784"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:23.144515" elapsed="0.000924"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:23.166433" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:23.166744" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:23.166890" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:23.157039" elapsed="0.009880"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:23.167390" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:23.167023" elapsed="0.000429"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:23.170380" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:23.167672" elapsed="0.002850"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:23.167483" elapsed="0.003137"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:23.166997" elapsed="0.003655"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:23.170835" elapsed="0.000250"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:23.171572" elapsed="0.003197"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:23.171367" elapsed="0.003463"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:23.178313" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:23.175121" elapsed="0.003307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:23.174950" elapsed="0.003608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:23.171169" elapsed="0.007480">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:23.156369" elapsed="0.022443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:23.142330" elapsed="0.036623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:25.182058" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:25.181044" elapsed="0.001087"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:25.183045" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:25.182325" elapsed="0.000867"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:25.182274" elapsed="0.000994"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:25.200599" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:25.200980" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:25.201209" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:25.193304" elapsed="0.007957"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:25.201900" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:25.201379" elapsed="0.000628"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:25.205454" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:25.202262" elapsed="0.003287"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:25.202056" elapsed="0.003544"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:25.201351" elapsed="0.004279"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:25.205804" 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-07-12T00:23:25.206483" elapsed="0.003474"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:25.206314" elapsed="0.003706"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:25.212780" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:25.210304" elapsed="0.002558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:25.210138" elapsed="0.002801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:25.206126" elapsed="0.006874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:25.192853" elapsed="0.020257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:25.180008" elapsed="0.033197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:27.216616" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:27.215609" 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-07-12T00:23:27.217509" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:27.216914" elapsed="0.002263"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:27.216861" elapsed="0.002517"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:27.241351" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:27.241989" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:27.242286" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:27.233027" elapsed="0.009320"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:27.243582" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:27.242655" elapsed="0.001072"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:27.248919" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:27.244159" elapsed="0.004858"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:27.243793" elapsed="0.005286"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:27.242581" elapsed="0.006537"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:27.249347" elapsed="0.000310"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:27.250308" elapsed="0.003414"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:27.250073" elapsed="0.003725"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:27.257426" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:27.254111" elapsed="0.003462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:27.253932" elapsed="0.003758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:27.249804" elapsed="0.008011">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:27.232250" elapsed="0.025748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:27.214457" elapsed="0.043749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:29.261094" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:29.260088" 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="NOT RUN" start="2026-07-12T00:23:29.261945" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:29.261354" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:29.261308" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:29.282482" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:29.282776" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:29.282904" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:29.273043" elapsed="0.009887"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:29.283481" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:29.283032" elapsed="0.000561"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:29.287192" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:29.283832" elapsed="0.003439"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:29.283633" elapsed="0.003692"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:29.283008" elapsed="0.004350"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:29.287565" 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-07-12T00:23:29.288302" elapsed="0.003483"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:29.288112" elapsed="0.003737"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:29.294932" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:29.292156" elapsed="0.002858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:29.291975" elapsed="0.003116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:29.287910" elapsed="0.007308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:29.272481" elapsed="0.022849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:29.259126" elapsed="0.036305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:31.298219" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:31.297305" elapsed="0.000987"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:31.299061" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:31.298478" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:31.298431" elapsed="0.000816"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:31.317348" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:31.317689" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:31.317831" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:31.308951" elapsed="0.008917"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:31.318386" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:31.317979" elapsed="0.000486"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:31.321924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:31.318691" elapsed="0.003306"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:31.318499" elapsed="0.003546"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:31.317953" elapsed="0.004121"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:31.322243" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:31.322927" elapsed="0.003083"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:31.322764" elapsed="0.003303"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:31.329153" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:31.326358" elapsed="0.002975">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:31.326187" elapsed="0.003222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:31.322577" elapsed="0.006893">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:31.308346" elapsed="0.021253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:31.296368" elapsed="0.033330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:33.332626" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:33.331694" elapsed="0.001021"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:33.333461" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:33.332904" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:33.332856" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:33.351859" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:33.352119" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:33.352226" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:33.343432" elapsed="0.008821"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:33.352794" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:33.352346" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:33.356143" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:33.353092" elapsed="0.003191"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:33.352911" elapsed="0.003423"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:33.352317" elapsed="0.004046"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:33.356574" 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-07-12T00:23:33.357252" elapsed="0.003131"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:33.357087" elapsed="0.003354"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:33.363749" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:33.360743" elapsed="0.003086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:33.360575" elapsed="0.003330">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:33.356900" elapsed="0.007065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:33.343010" elapsed="0.021059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:33.330713" elapsed="0.033460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:35.367913" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:35.366813" elapsed="0.001185"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:35.368949" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:35.368238" elapsed="0.000844"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:35.368177" elapsed="0.000968"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:35.386286" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:35.386748" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:35.387043" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:35.378953" elapsed="0.008128"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:35.387644" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:35.387193" elapsed="0.000533"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:35.390941" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:35.387935" elapsed="0.003078"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:35.387761" elapsed="0.003300"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:35.387168" elapsed="0.003923"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:35.391264" 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-07-12T00:23:35.392041" elapsed="0.003161"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:35.391866" elapsed="0.003394"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:35.398679" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:35.395564" elapsed="0.003250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:35.395378" elapsed="0.003550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:35.391651" elapsed="0.007363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:35.378522" elapsed="0.020645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:35.365474" elapsed="0.033824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:37.403343" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:37.402249" elapsed="0.001179"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:23:37.404332" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:37.403704" elapsed="0.000986"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:37.403641" elapsed="0.001129"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:37.426870" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01isoho6i4bji510pwhxz9jumh60.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:37.427272" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:37.427415" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:37.414221" elapsed="0.013231"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:37.428004" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:37.427583" elapsed="0.000501"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:37.432977" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:37.428293" elapsed="0.004804"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:37.428118" elapsed="0.005055"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:37.427556" elapsed="0.005667"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:37.433503" elapsed="0.000425"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:23:37.434681" elapsed="0.004977"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:23:37.434381" elapsed="0.005369"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:37.443290" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:37.440201" elapsed="0.003196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:37.439936" elapsed="0.003563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:23:37.434065" elapsed="0.009528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:37.413793" elapsed="0.029919">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:37.400981" elapsed="0.042861">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-07-12T00:23:37.443955" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:22:05.690636" elapsed="91.753471">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:37.444327" elapsed="0.000022"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:37.445334" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:23:37.713231" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:23:37.713656" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:23:37.713761" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:23:37.713853" 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-07-12T00:23:37.445116" elapsed="0.268792"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:37.715084" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:23:37.714363" elapsed="0.000815"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:37.715895" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:23:38.016905" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:23:38.017249" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:23:38.017349" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:23:38.017440" 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-07-12T00:23:37.715483" elapsed="0.302010"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.018440" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:23:38.083952" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:23:38.084261" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:23:38.084469" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:23:38.084632" 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-07-12T00:23:38.017984" elapsed="0.066704"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.085306" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:23:38.131455" 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-07-12T00:23:38.085073" elapsed="0.046566"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:38.148237" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01isoho6i4bji510pwhxz9jumh60.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:38.148404" level="INFO">DELETE Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:38.148674" 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-07-12T00:23:38.131974" elapsed="0.016765"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:38.162157" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01isoho6i4bji510pwhxz9jumh60.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:38.162550" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:23:38.162833" 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-07-12T00:23:38.149095" elapsed="0.013776"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:23:37.444769" elapsed="0.718220"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-07-12T00:22:04.133959" elapsed="94.029139">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCsRK2eylD4NJiHZVsXDmWMAmS8Itek+7L4ozPxpd/lyKaw4WFbneGRsW3GXaoN0DUqisVDzLxEGgrtKJVJIayf5ablk/XtAyoZVAD4xWj9d0t89zkmXWD1E6IGWT1VCu/BQqFSQfUxVxeBKw8gYn9/En844JJgxRpRmEb6VuubfvxQT+avjCdVuSo0Qv4c/0QB82abPgcumo4A5VfyWzkgvs7OxqxPmKnr+OjdVK8GLIh1CIgZry2z+ZlksKU+HaHx4PzzBSDHhOwkfVQwbY6Lb6zGyf50VCPMzawD7NUT/HK5znj6MDY+hMGwTLwFGllY0fezyVtt/ocKzeWY9mIP","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-07-12T00:23:38.166585" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c894917a490&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-07-12T00:23:38.166166" elapsed="0.000669"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.167188" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:23:38.179638" 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-07-12T00:23:38.167044" elapsed="0.012678"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.180067" 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-07-12T00:23:38.467783" 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-07-12T00:23:38.179926" elapsed="0.288036"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.468716" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:23:38.521276" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:23:38.521818" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViP...</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-07-12T00:23:38.468383" elapsed="0.053506"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:23:38.532393" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViP...</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-07-12T00:23:38.522562" elapsed="0.009952"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:23:38.165739" elapsed="0.366897"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.589400" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:23:38.533321" elapsed="0.056251"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.597810" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:23:38.589894" elapsed="0.007999"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-07-12T00:23:38.532945" elapsed="0.065035"/>
</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-07-12T00:23:38.604502" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:38.598919" elapsed="0.005679"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:23:38.605442" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:23:38.605683" 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-07-12T00:23:38.605210" elapsed="0.000512"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:23:38.606471" 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-07-12T00:23:38.606012" elapsed="0.000540"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:38.604844" elapsed="0.001788"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:38.604647" elapsed="0.002018"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:38.598873" elapsed="0.007822"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:23:38.607250" 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-07-12T00:23:38.606890" elapsed="0.000398"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:23:38.607823" 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-07-12T00:23:38.607485" elapsed="0.000375"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:23:38.608405" 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-07-12T00:23:38.608088" elapsed="0.000355"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:23:38.608853" 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-07-12T00:23:38.608628" elapsed="0.000251"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:38.626816" level="INFO">POST Request : url=http://10.30.171.144: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:23:38.626944" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:23:38 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:38.627171" 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-07-12T00:23:38.609014" elapsed="0.018213"/>
</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-07-12T00:23:38.627735" elapsed="0.004922"/>
</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-07-12T00:23:38.598372" elapsed="0.034429"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:23:38.633559" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-07-12T00:23:38.900169" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:23:38.900837" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:23:38.900952" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:23:38.901057" 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-07-12T00:23:38.633136" elapsed="0.267981"/>
</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-07-12T00:23:38.905894" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:38.904928" elapsed="0.001036"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:23:38.906913" elapsed="0.000593"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:38.906184" elapsed="0.001456"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:38.906115" elapsed="0.001600"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:38.928102" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:38.928888" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:38.929210" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:38.918517" elapsed="0.010759"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:38.930413" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:38.929505" elapsed="0.001101"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:38.936914" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.931092" elapsed="0.005949"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:38.930724" elapsed="0.006400"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:38.929447" elapsed="0.007730"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:38.937479" elapsed="0.000462"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:38.942192" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.938805" elapsed="0.003495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.938438" elapsed="0.003951">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.938090" elapsed="0.004367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.918006" elapsed="0.024601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.903825" elapsed="0.038886">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.946688" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:40.945497" elapsed="0.001630"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:23:40.947931" elapsed="0.000347"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:40.947395" elapsed="0.000945"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:40.947331" elapsed="0.001056"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:40.967386" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:40.967790" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:40.967903" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:40.958219" elapsed="0.009711"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:40.968376" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:40.968017" elapsed="0.000423"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:40.970871" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.968632" elapsed="0.002300"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:40.968469" elapsed="0.002498"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:40.967996" elapsed="0.002993"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:40.971118" elapsed="0.000196"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:40.975427" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.971786" elapsed="0.003806">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.971598" elapsed="0.004118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.971393" elapsed="0.004417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.957508" elapsed="0.018486">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:40.944111" elapsed="0.032079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:42.979938" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:42.978839" elapsed="0.001183"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:23:42.980910" elapsed="0.000540"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:42.980260" elapsed="0.001318"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:42.980198" elapsed="0.001448"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:43.002381" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:43.002780" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:43.002889" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:42.992860" elapsed="0.010055"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:43.003313" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:43.002996" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:43.005720" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:43.003553" elapsed="0.002220"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:43.003398" elapsed="0.002410"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:43.002977" elapsed="0.002881"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:43.006016" elapsed="0.000218"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:43.009991" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:43.006669" elapsed="0.003462">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:43.006482" elapsed="0.003767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:43.006312" elapsed="0.004031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:42.992248" elapsed="0.018385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:42.977517" elapsed="0.033258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.014655" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:45.013435" elapsed="0.001311"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:23:45.015681" elapsed="0.000519"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:45.014992" elapsed="0.001305"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:45.014929" elapsed="0.001436"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:45.035143" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:45.035608" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:45.035775" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:45.026438" 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-07-12T00:23:45.036344" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:45.035923" elapsed="0.000504"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:45.040917" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.036664" elapsed="0.004370"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:45.036461" elapsed="0.004651"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:45.035898" elapsed="0.005262"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:45.041438" elapsed="0.000428"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:45.047846" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.042616" elapsed="0.005423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.042314" elapsed="0.005898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.042002" elapsed="0.006508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.026009" elapsed="0.022782">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:45.012098" elapsed="0.036990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.053121" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:47.052087" 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-07-12T00:23:47.054056" elapsed="0.000521"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:47.053429" elapsed="0.001244"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:47.053376" elapsed="0.001358"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:47.073507" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:47.073869" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:47.073973" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:47.064765" elapsed="0.009234"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:47.074389" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:47.074080" elapsed="0.000366"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:47.076897" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.074625" elapsed="0.002346"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:47.074470" elapsed="0.002551"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:47.074060" elapsed="0.002991"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:47.077228" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:47.081480" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.077978" elapsed="0.004353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.077804" elapsed="0.004640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.077593" elapsed="0.004963">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.064159" elapsed="0.018550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:47.050874" elapsed="0.031969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.086202" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:49.085151" 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-07-12T00:23:49.087226" elapsed="0.000548"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:49.086505" elapsed="0.001369"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:49.086452" elapsed="0.001467"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:49.106647" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:49.106973" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:49.107077" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:49.097869" elapsed="0.009234"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:49.107485" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:49.107184" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:49.112660" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.107718" elapsed="0.005199"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:49.107585" elapsed="0.005414"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:49.107165" elapsed="0.005882"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:49.113322" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:49.119900" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.114411" elapsed="0.005583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.114149" elapsed="0.005924">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.113853" elapsed="0.006284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.097229" elapsed="0.023014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:49.084000" elapsed="0.036340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.124094" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:51.122983" elapsed="0.001202"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:23:51.125093" elapsed="0.000542"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:51.124430" elapsed="0.001306"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:51.124368" elapsed="0.001506"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:51.143931" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:51.144318" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:51.144584" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:51.136844" elapsed="0.007769"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:51.145039" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:51.144697" elapsed="0.000404"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:51.147474" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.145261" elapsed="0.002283"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:51.145127" elapsed="0.002455"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:51.144678" elapsed="0.002926"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:51.147732" elapsed="0.000201"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:51.151136" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.148306" elapsed="0.002985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.148174" elapsed="0.003240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.148007" elapsed="0.003503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.136200" elapsed="0.015496">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:51.121690" elapsed="0.030166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.155421" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:53.154361" 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-07-12T00:23:53.156380" elapsed="0.000554"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:53.155771" elapsed="0.001284"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:53.155712" elapsed="0.001409"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:53.180013" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:53.180488" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:53.180709" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:53.168461" elapsed="0.012329"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:53.181651" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:53.180996" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:53.185388" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.182000" elapsed="0.003469"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:53.181786" elapsed="0.003736"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:53.180946" elapsed="0.004632"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:53.185785" elapsed="0.000304"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:53.190666" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.186668" elapsed="0.004142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.186433" elapsed="0.004501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.186198" elapsed="0.004834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.167951" elapsed="0.023252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:53.153162" elapsed="0.038186">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.195116" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:55.194026" 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-07-12T00:23:55.196151" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:55.195435" elapsed="0.001242"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:55.195376" elapsed="0.001354"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:55.215425" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:55.215923" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:55.216073" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:55.208451" elapsed="0.007652"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:55.216924" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:55.216280" elapsed="0.000734"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:55.220492" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.217270" elapsed="0.003322"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:55.217061" elapsed="0.003584"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:55.216238" elapsed="0.004437"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:55.220859" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:55.224993" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.221696" elapsed="0.003439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.221461" elapsed="0.003794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.221233" elapsed="0.004119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.207462" elapsed="0.018059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:55.192808" elapsed="0.033012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.229739" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:57.228647" elapsed="0.001187"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:23:57.230873" elapsed="0.000552"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:57.230087" elapsed="0.001490"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:57.230021" elapsed="0.001639"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:57.249097" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:57.249442" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:57.249585" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:57.240872" elapsed="0.008741"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:57.250015" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:57.249697" elapsed="0.000380"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:57.254078" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.250274" elapsed="0.003923"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:57.250102" elapsed="0.004175"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:57.249677" elapsed="0.004648"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:57.254645" elapsed="0.000444"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:57.261098" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.255860" elapsed="0.005423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.255585" elapsed="0.005871">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.255229" elapsed="0.006406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.240410" elapsed="0.021621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:57.227283" elapsed="0.034976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.265506" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:23:59.264511" 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-07-12T00:23:59.266405" elapsed="0.000333"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:59.265876" elapsed="0.000921"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:59.265821" elapsed="0.001015"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:23:59.284972" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:23:59.285281" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:23:59.285385" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:23:59.276475" elapsed="0.008937"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:23:59.285895" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:23:59.285502" elapsed="0.000459"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:23:59.290715" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.286118" elapsed="0.004671"/>
</kw>
<status status="PASS" start="2026-07-12T00:23:59.285987" elapsed="0.004851"/>
</branch>
<status status="PASS" start="2026-07-12T00:23:59.285482" elapsed="0.005386"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:23:59.291044" elapsed="0.000239"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:23:59.295228" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.291753" elapsed="0.003595">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.291583" elapsed="0.003871">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.291366" elapsed="0.004295">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.275881" elapsed="0.019930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:59.263427" elapsed="0.032522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.299155" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:01.298147" 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="PASS" start="2026-07-12T00:24:01.300066" elapsed="0.000526"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:01.299445" elapsed="0.001243"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:01.299390" elapsed="0.001378"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:01.317896" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:01.318228" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:01.318371" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:01.310043" elapsed="0.008365"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:01.318971" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:01.318557" elapsed="0.000495"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:01.322287" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.319273" elapsed="0.003087"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:01.319086" elapsed="0.003323"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:01.318505" 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-07-12T00:24:01.322639" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:01.326723" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.323339" elapsed="0.003569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.323169" elapsed="0.003849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.322977" elapsed="0.004128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.309607" elapsed="0.017655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:01.297084" elapsed="0.030316">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.330419" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:03.329456" elapsed="0.001038"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:03.331287" elapsed="0.000620"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:03.330726" elapsed="0.001280"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:03.330676" elapsed="0.001395"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:03.351149" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:03.351414" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:03.351549" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:03.341929" elapsed="0.009649"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:03.352025" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:03.351661" elapsed="0.000426"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:03.356996" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.352266" elapsed="0.004952"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:03.352114" elapsed="0.005186"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:03.351641" elapsed="0.005707"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:03.357666" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:03.364075" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.358800" elapsed="0.005458">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.358489" elapsed="0.005942">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.358188" elapsed="0.006434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.341314" elapsed="0.023437">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:03.328395" elapsed="0.036454">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.367895" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:05.366883" 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="PASS" start="2026-07-12T00:24:05.368764" elapsed="0.000482"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:05.368165" elapsed="0.001173"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:05.368116" elapsed="0.001281"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:05.387480" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:05.387859" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:05.388086" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:05.379681" elapsed="0.008443"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:05.388765" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:05.388261" elapsed="0.000588"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:05.393512" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.389074" elapsed="0.004512"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:05.388888" elapsed="0.004735"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:05.388227" elapsed="0.005418"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:05.393777" elapsed="0.000182"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:05.397331" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.394303" elapsed="0.003138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.394167" elapsed="0.003401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.394023" elapsed="0.003645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.379217" elapsed="0.018598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:05.365849" elapsed="0.032098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.400853" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:07.399932" 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-07-12T00:24:07.401698" elapsed="0.000513"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:07.401110" elapsed="0.001191"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:07.401064" elapsed="0.001294"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:07.419923" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:07.420164" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:07.420266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:07.411595" elapsed="0.008698"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:07.420700" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:07.420372" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:07.423178" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.420907" elapsed="0.002343"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:07.420782" elapsed="0.002516"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:07.420353" elapsed="0.002976"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:07.423500" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:07.427287" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.424190" elapsed="0.003202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.424025" elapsed="0.003468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.423833" elapsed="0.003768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.410990" elapsed="0.016755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:07.398924" elapsed="0.028957">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.431789" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:09.430836" 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-07-12T00:24:09.432673" elapsed="0.000518"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:09.432056" elapsed="0.001226"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:09.432008" elapsed="0.001330"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:09.450832" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:09.451096" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:09.451207" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:09.443441" elapsed="0.007793"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:09.451627" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:09.451314" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:09.453938" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.451832" elapsed="0.002159"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:09.451710" elapsed="0.002316"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:09.451295" 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-07-12T00:24:09.454178" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:09.456963" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.454693" elapsed="0.002351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.454572" elapsed="0.002545">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.454412" elapsed="0.002771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.442855" elapsed="0.014464">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:09.429720" elapsed="0.027769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.460465" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:11.459458" elapsed="0.001120"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:11.461381" elapsed="0.000531"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:11.460782" elapsed="0.001226"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:11.460730" elapsed="0.001354"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:11.482423" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:11.482704" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:11.482812" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:11.474610" elapsed="0.008229"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:11.483283" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:11.482934" elapsed="0.000407"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:11.485670" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.483497" elapsed="0.002226"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:11.483367" elapsed="0.002390"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:11.482910" elapsed="0.002869"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:11.485902" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:11.488941" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.486406" elapsed="0.002672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.486278" elapsed="0.002904">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.486137" elapsed="0.003133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.473935" elapsed="0.015545">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:11.458441" elapsed="0.031200">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.492657" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:13.491720" 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-07-12T00:24:13.493479" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:13.492922" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:13.492875" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:13.512207" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:13.512472" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:13.512596" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:13.503946" elapsed="0.008677"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:13.513009" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:13.512704" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:13.515453" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.513212" elapsed="0.002294"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:13.513089" elapsed="0.002476"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:13.512685" elapsed="0.002903"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:13.515713" elapsed="0.000197"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:13.519816" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.516444" elapsed="0.003487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.516238" elapsed="0.003809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.516012" elapsed="0.004214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.503324" elapsed="0.017063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:13.490637" elapsed="0.029930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.523483" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:15.522604" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:15.524381" elapsed="0.000523"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:15.523772" elapsed="0.001228"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:15.523727" elapsed="0.001334"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:15.543598" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:15.543852" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:15.543963" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:15.535770" elapsed="0.008223"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:15.544370" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:15.544074" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:15.546718" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.544588" elapsed="0.002183"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:15.544450" elapsed="0.002356"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:15.544055" elapsed="0.002772"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:15.546949" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:15.549651" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.547428" elapsed="0.002398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.547308" elapsed="0.002594">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.547174" elapsed="0.002789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.535335" elapsed="0.014772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:15.521599" elapsed="0.028639">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.553239" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:17.552236" elapsed="0.001075"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:17.554113" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:17.553503" elapsed="0.001195"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:17.553454" elapsed="0.001302"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:17.572122" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:17.572367" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:17.572468" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:17.564966" elapsed="0.007529"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:17.572966" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:17.572599" elapsed="0.000426"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:17.575275" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.573175" elapsed="0.002221"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:17.573049" elapsed="0.002383"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:17.572579" elapsed="0.002874"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:17.575591" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:17.579078" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.576079" elapsed="0.003107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.575958" elapsed="0.003338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.575823" elapsed="0.003560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.564325" elapsed="0.015217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:17.551255" elapsed="0.028423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.581571" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:19.581006" elapsed="0.000610"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:19.582066" elapsed="0.000262"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:19.581734" elapsed="0.000644"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:19.581705" elapsed="0.000707"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:19.599028" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:19.599363" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:19.599589" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:19.591618" elapsed="0.008007"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:19.600220" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:19.599776" elapsed="0.000518"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:19.603546" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.600499" elapsed="0.003122"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:19.600328" elapsed="0.003340"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:19.599743" elapsed="0.003954"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:19.603892" elapsed="0.000230"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:19.607515" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.604560" elapsed="0.003056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.604372" elapsed="0.003324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.604198" elapsed="0.003601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.590942" elapsed="0.016966">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:19.580379" elapsed="0.027628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.611118" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:21.610032" elapsed="0.001159"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:21.611845" elapsed="0.000305"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:21.611404" elapsed="0.000805"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:21.611348" elapsed="0.000907"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:21.631040" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:21.631294" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:21.631408" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:21.622146" elapsed="0.009289"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:21.631842" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:21.631517" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:21.634210" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.632061" elapsed="0.002202"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:21.631933" elapsed="0.002365"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:21.631498" 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-07-12T00:24:21.634445" elapsed="0.000194"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:21.638129" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.635005" elapsed="0.003237">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.634873" elapsed="0.003475">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.634700" elapsed="0.003734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.621513" elapsed="0.017093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:21.609010" elapsed="0.029749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.642299" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:23.641059" elapsed="0.001322"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:23.643441" elapsed="0.000646"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:23.642684" elapsed="0.001524"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:23.642624" elapsed="0.001664"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:23.664556" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:23.664825" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:23.664929" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:23.654840" elapsed="0.010116"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:23.665353" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:23.665036" elapsed="0.000388"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:23.669719" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.665595" elapsed="0.004288"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:23.665451" elapsed="0.004527"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:23.665017" elapsed="0.005023"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:23.670332" elapsed="0.000414"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:23.677040" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.671440" elapsed="0.005819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.671171" elapsed="0.006333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.670875" elapsed="0.006946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.654230" elapsed="0.023949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:23.639862" elapsed="0.038597">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.681266" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:25.680316" 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-07-12T00:24:25.682165" elapsed="0.000514"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:25.681526" elapsed="0.001247"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:25.681479" elapsed="0.001351"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:25.701501" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:25.701781" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:25.701886" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:25.694007" elapsed="0.007906"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:25.702314" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:25.701999" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:25.704800" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.702548" elapsed="0.002304"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:25.702401" elapsed="0.002487"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:25.701978" elapsed="0.002931"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:25.705033" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:25.707788" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.705551" elapsed="0.002319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.705411" elapsed="0.002536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.705269" elapsed="0.002741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.693573" elapsed="0.014648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:25.679370" elapsed="0.028954">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.710356" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:27.709766" elapsed="0.000641"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:27.710918" elapsed="0.000294"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:27.710556" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:27.710503" elapsed="0.000803"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:27.728905" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:27.729158" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:27.729269" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:27.721176" elapsed="0.008119"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:27.729691" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:27.729374" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:27.732031" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.729899" elapsed="0.002184"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:27.729774" elapsed="0.002345"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:27.729355" elapsed="0.002786"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:27.732266" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:27.736038" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.732895" elapsed="0.003250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.732727" elapsed="0.003521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.732516" elapsed="0.003887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.720587" elapsed="0.015988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:27.709100" elapsed="0.027614">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.739600" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:29.738614" 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-07-12T00:24:29.740410" elapsed="0.000484"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:29.739861" elapsed="0.001122"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:29.739815" elapsed="0.001225"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:29.759582" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:29.759831" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:29.759930" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:29.751710" elapsed="0.008246"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:29.760328" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:29.760035" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:29.762671" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.760558" elapsed="0.002167"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:29.760409" elapsed="0.002392"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:29.760017" elapsed="0.002808"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:29.762950" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:29.767017" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.763434" elapsed="0.003755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.763315" elapsed="0.003993">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.763178" elapsed="0.004223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.751071" elapsed="0.016500">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:29.737684" elapsed="0.030032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.770557" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:31.769602" elapsed="0.001028"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:31.771372" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:31.770817" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:31.770771" elapsed="0.001245"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:31.790541" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:31.790797" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:31.790897" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:31.782189" elapsed="0.008734"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:31.791299" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:31.791003" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:31.793640" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.791510" elapsed="0.002304"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:31.791380" elapsed="0.002471"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:31.790984" elapsed="0.002889"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:31.794003" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:31.797577" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.794489" elapsed="0.003193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.794368" elapsed="0.003437">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.794232" elapsed="0.003663">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.781592" elapsed="0.016444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:31.768684" elapsed="0.029487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.800378" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:33.799775" elapsed="0.000653"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:33.801006" elapsed="0.000306"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:33.800580" elapsed="0.000791"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:33.800525" elapsed="0.000882"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:33.819722" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:33.819972" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:33.820141" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:33.811279" elapsed="0.008890"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:33.820568" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:33.820250" elapsed="0.000377"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:33.823016" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.820778" elapsed="0.002297"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:33.820652" elapsed="0.002459"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:33.820231" elapsed="0.002901"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:33.823258" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:33.826285" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.823771" elapsed="0.002633">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.823648" elapsed="0.002898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.823492" elapsed="0.003147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.810680" elapsed="0.016104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:33.799046" elapsed="0.027870">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.829766" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:35.828845" 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-07-12T00:24:35.830609" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:35.830021" elapsed="0.001133"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:35.829977" elapsed="0.001233"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:35.848416" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:35.848759" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:35.848900" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:35.841047" elapsed="0.007891"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:35.849454" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:35.849048" elapsed="0.000510"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:35.852742" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.849769" elapsed="0.003045"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:35.849595" elapsed="0.003268"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:35.849023" elapsed="0.003871"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:35.853064" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:35.857191" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.853749" elapsed="0.003548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.853583" elapsed="0.003817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.853376" elapsed="0.004111">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.840374" elapsed="0.017277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:35.827924" elapsed="0.029862">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.859939" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:37.859260" elapsed="0.000730"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:37.860509" elapsed="0.000334"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:37.860126" elapsed="0.000781"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:37.860091" elapsed="0.000856"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:37.878559" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:37.878830" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:37.878936" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:37.870411" elapsed="0.008552"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:37.879335" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:37.879041" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:37.881689" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.879575" elapsed="0.002166"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:37.879417" elapsed="0.002360"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:37.879023" elapsed="0.002775"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:37.881922" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:37.885000" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.882405" elapsed="0.002702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.882286" elapsed="0.002925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.882148" elapsed="0.003149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.869826" elapsed="0.015611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:37.858587" elapsed="0.027080">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.888458" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:39.887507" 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-07-12T00:24:39.889307" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:39.888749" elapsed="0.001159"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:39.888703" elapsed="0.001264"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:39.906747" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:39.907010" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:39.907161" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:39.899481" elapsed="0.007718"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:39.907739" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:39.907310" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:39.910990" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.908039" elapsed="0.003024"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:39.907853" elapsed="0.003259"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:39.907284" elapsed="0.003858"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:39.911314" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:39.915198" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.911998" elapsed="0.003304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.911833" elapsed="0.003570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.911648" elapsed="0.003841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.899060" elapsed="0.016668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:39.886608" elapsed="0.029257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.919190" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:41.918365" elapsed="0.000897"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:41.919801" elapsed="0.000298"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:41.919411" elapsed="0.000745"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:41.919375" elapsed="0.000818"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:41.941730" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:41.942316" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:41.942627" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:41.930791" elapsed="0.011899"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:41.943726" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:41.942878" elapsed="0.001009"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:41.948318" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.944303" elapsed="0.004092"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:41.943960" elapsed="0.004486"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:41.942824" elapsed="0.005654"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:41.948682" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:41.953110" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.949426" elapsed="0.003801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.949246" elapsed="0.004092">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.949042" elapsed="0.004472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.929752" elapsed="0.023941">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:41.917222" elapsed="0.036612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.956728" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:43.955736" 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-07-12T00:24:43.957625" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:43.957025" elapsed="0.001155"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:43.956963" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:43.974843" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:43.975091" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:43.975192" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:43.968190" elapsed="0.007028"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:43.975637" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:43.975302" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:43.977998" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.975850" elapsed="0.002201"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:43.975719" elapsed="0.002366"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:43.975281" elapsed="0.002826"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:43.978229" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:43.981395" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.978738" elapsed="0.002896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.978616" elapsed="0.003126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.978460" elapsed="0.003370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.967566" elapsed="0.014408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:43.954814" elapsed="0.027291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:45.985168" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:45.984201" elapsed="0.001038"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:45.986123" elapsed="0.000618"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:45.985432" elapsed="0.001408"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:45.985385" elapsed="0.001573"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:46.004918" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:46.005201" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:46.005363" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:45.997878" elapsed="0.007516"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:46.005932" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:46.005547" elapsed="0.000445"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:46.008426" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:46.006166" elapsed="0.002425"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:46.006020" elapsed="0.002617"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:46.005501" elapsed="0.003166"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:46.008825" elapsed="0.000199"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:46.011965" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:46.009396" elapsed="0.002680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:46.009234" elapsed="0.002948">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:46.009087" elapsed="0.003183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:45.997142" elapsed="0.015272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:45.983202" elapsed="0.029374">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.015421" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:48.014503" elapsed="0.000990"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:48.016264" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:48.015709" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:48.015663" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:48.035923" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:48.036167" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:48.036331" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:48.028039" elapsed="0.008319"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:48.036757" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:48.036438" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:48.039101" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.036968" elapsed="0.002186"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:48.036838" elapsed="0.002350"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:48.036419" elapsed="0.002791"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:48.039341" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:48.042280" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.039843" elapsed="0.002546">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.039723" elapsed="0.002773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.039585" elapsed="0.003021">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.027446" elapsed="0.015300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:48.013558" elapsed="0.029318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.045796" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:50.044846" 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-07-12T00:24:50.046661" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:50.046053" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:50.046008" elapsed="0.001258"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:50.063843" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:50.064171" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:50.064310" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:50.057495" elapsed="0.006852"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:50.064892" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:50.064458" elapsed="0.000535"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:50.068170" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.065197" elapsed="0.003044"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:50.065027" elapsed="0.003262"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:50.064433" 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-07-12T00:24:50.068488" elapsed="0.000253"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:50.072314" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.069193" elapsed="0.003230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.069027" elapsed="0.003517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.068823" elapsed="0.003812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.057065" elapsed="0.015712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:50.043894" elapsed="0.029016">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.076236" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:52.075198" 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-07-12T00:24:52.077165" elapsed="0.000531"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:52.076514" elapsed="0.001279"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:52.076463" elapsed="0.001394"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:52.097707" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:52.098061" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:52.098232" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:52.089927" elapsed="0.008350"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:52.098881" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:52.098401" elapsed="0.000572"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:52.102411" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.099209" elapsed="0.003294"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:52.099022" elapsed="0.003555"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:52.098373" elapsed="0.004237"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:52.102803" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:52.106824" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.103515" elapsed="0.003423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.103312" elapsed="0.003730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.103123" elapsed="0.004006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.089403" elapsed="0.017867">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:52.074170" elapsed="0.033334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.111785" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:54.110674" elapsed="0.001187"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:54.112715" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:54.112081" elapsed="0.001237"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:54.112021" elapsed="0.001358"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:54.133094" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:54.133365" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:54.133471" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:54.125802" elapsed="0.007715"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:54.134129" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:54.133702" elapsed="0.000512"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:54.137477" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.134430" elapsed="0.003145"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:54.134252" elapsed="0.003386"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:54.133667" elapsed="0.004004"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:54.137861" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:54.142052" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.138578" elapsed="0.003584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.138382" elapsed="0.003889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.138185" elapsed="0.004173">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.125342" elapsed="0.017280">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:54.109458" elapsed="0.033328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.145614" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:56.144704" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:24:56.146443" elapsed="0.000483"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:56.145873" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:56.145826" elapsed="0.001245"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:56.166966" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:56.167478" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:56.167761" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:56.157630" elapsed="0.010192"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:56.168700" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:56.168003" elapsed="0.000827"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:56.172755" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.169168" elapsed="0.003662"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:56.168887" elapsed="0.003993"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:56.167961" elapsed="0.004949"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:56.173085" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:56.176963" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.173797" elapsed="0.003275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.173626" elapsed="0.003552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.173410" elapsed="0.003925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.157033" elapsed="0.020449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:56.143737" elapsed="0.033909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.180765" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:24:58.179766" 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-07-12T00:24:58.181745" elapsed="0.000542"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:58.181099" elapsed="0.001316"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:58.180995" elapsed="0.001510"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:24:58.205853" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:24:58.206202" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:24:58.206367" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:24:58.195623" elapsed="0.010782"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:24:58.206998" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:24:58.206550" elapsed="0.000529"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:24:58.210373" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.207313" elapsed="0.003136"/>
</kw>
<status status="PASS" start="2026-07-12T00:24:58.207116" elapsed="0.003382"/>
</branch>
<status status="PASS" start="2026-07-12T00:24:58.206499" elapsed="0.004052"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:24:58.210765" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:24:58.214642" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.211469" elapsed="0.003350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.211295" elapsed="0.003630">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.211105" elapsed="0.003908">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.195173" elapsed="0.019985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:24:58.178754" elapsed="0.036541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.217224" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:00.216505" elapsed="0.000812"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:25:00.218316" elapsed="0.000609"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:00.217617" elapsed="0.001422"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:00.217508" elapsed="0.001604"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:00.239407" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:00.239745" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:00.239866" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:00.230738" elapsed="0.009163"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:00.240447" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:00.239999" elapsed="0.000546"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:00.245252" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.240755" elapsed="0.004697"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:00.240583" elapsed="0.004928"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:00.239975" elapsed="0.005601"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:00.245826" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:00.251210" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.246820" elapsed="0.004506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.246576" elapsed="0.004858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.246283" elapsed="0.005239">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.229990" elapsed="0.021704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:00.215943" elapsed="0.035884">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.254792" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:02.253813" 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-07-12T00:25:02.255727" elapsed="0.000489"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:02.255066" elapsed="0.001247"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:02.255016" elapsed="0.001358"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:02.275446" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:02.275723" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:02.275936" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:02.268499" elapsed="0.007477"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:02.276549" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:02.276095" elapsed="0.000540"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:02.280045" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.276852" elapsed="0.003270"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:02.276671" elapsed="0.003503"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:02.276066" elapsed="0.004140"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:02.280386" elapsed="0.000279"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:02.284442" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.281125" elapsed="0.003448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.280948" elapsed="0.003735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.280749" elapsed="0.004023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.268078" elapsed="0.016844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:02.252832" elapsed="0.032231">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.287991" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:04.286994" elapsed="0.001069"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:25:04.288873" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:04.288249" elapsed="0.001174"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:04.288202" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:04.308366" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:04.308657" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:04.308775" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:04.300573" elapsed="0.008228"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:04.309217" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:04.308886" elapsed="0.000390"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:04.312048" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.309429" elapsed="0.002698"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:04.309302" elapsed="0.002877"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:04.308864" elapsed="0.003348"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:04.312397" elapsed="0.000299"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:04.316845" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.313162" elapsed="0.003800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.312982" elapsed="0.004091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.312782" elapsed="0.004382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.299900" elapsed="0.017417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:04.285999" elapsed="0.031461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.320904" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:06.319833" elapsed="0.001191"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:25:06.323091" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:06.322399" elapsed="0.001241"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:06.322275" elapsed="0.001400"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:06.338317" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:06.338632" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:06.338749" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:06.330958" elapsed="0.007818"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:06.339224" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:06.338856" elapsed="0.000450"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:06.342688" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.339514" elapsed="0.003247"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:06.339340" elapsed="0.003471"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:06.338837" elapsed="0.004004"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:06.343015" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:06.347260" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.343759" elapsed="0.003617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.343585" elapsed="0.003897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.343344" elapsed="0.004251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.330435" elapsed="0.017312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:06.318758" elapsed="0.029220">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.350789" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:08.349875" elapsed="0.000984"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:25:08.351617" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:08.351041" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:08.350996" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:08.370427" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:08.370786" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:08.370934" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:08.363746" elapsed="0.007227"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:08.371516" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:08.371090" elapsed="0.000533"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:08.375042" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.371842" elapsed="0.003275"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:08.371660" elapsed="0.003509"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:08.371062" elapsed="0.004139"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:08.375381" elapsed="0.000267"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:08.379448" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.376102" elapsed="0.003478">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.375929" elapsed="0.003763">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.375732" elapsed="0.004052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.363099" elapsed="0.016904">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:08.348963" elapsed="0.031226">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.383105" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:10.382175" 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-07-12T00:25:10.383983" elapsed="0.000450"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:10.383399" elapsed="0.001121"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:10.383351" elapsed="0.001281"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:10.403513" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0xl55r2kvmr96110g9p52mdu151.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:10.403898" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:10.404060" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:10.395539" elapsed="0.008560"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:10.404665" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:10.404215" elapsed="0.000534"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:10.408149" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.404985" elapsed="0.003240"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:10.404786" elapsed="0.003489"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:10.404188" 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-07-12T00:25:10.408488" elapsed="0.000271"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:10.412573" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.409218" elapsed="0.003467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.409041" elapsed="0.003752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.408844" elapsed="0.004116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.395092" elapsed="0.018024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.381198" elapsed="0.032065">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-07-12T00:25:10.413395" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:23:38.901844" elapsed="91.511737">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:10.413879" elapsed="0.000035"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:10.415111" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:25:10.704625" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:25:10.704938" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:25:10.705006" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:25:10.705067" 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-07-12T00:25:10.414843" elapsed="0.290262"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:10.706038" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:10.705491" elapsed="0.000618"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:10.706623" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:25:11.069911" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:25:11.070175" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:25:11.070276" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:25:11.070368" 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-07-12T00:25:10.706343" elapsed="0.364077"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.071214" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:25:11.150477" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:25:11.150936" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:25:11.151046" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:25:11.151148" 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-07-12T00:25:11.070805" elapsed="0.080515"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.152138" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:25:11.199827" 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-07-12T00:25:11.151828" elapsed="0.048168"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:11.216211" level="INFO">DELETE Request : url=http://10.30.171.144: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=node0xl55r2kvmr96110g9p52mdu151.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:11.216322" level="INFO">DELETE Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:11.216588" 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-07-12T00:25:11.200377" elapsed="0.016276"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:11.224957" level="INFO">DELETE Request : url=http://10.30.171.144: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=node0xl55r2kvmr96110g9p52mdu151.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:11.225249" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:25:11.225426" 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-07-12T00:25:11.217017" elapsed="0.008449"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:25:10.414359" elapsed="0.811248"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-07-12T00:23:38.164613" elapsed="93.061074">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCv7Uu2Tu7WfodqhABFHmSVXZhFUq+W+VMvzIzZeXgniRn497DQpN9KQjrh7nANimQSKqdtMv18c5yyY0I/mvbPYlEwcuzIt8Hy7uVJQKuto5vpl0XeH7RJmk7CxDp4kRI9flKmG7SgYCeQLOl1jM+uATuOg0XbFre4xDtxFViPM+iJihG059nqjaDVCSEOTjIthJJnn9bXVNpBoD0y2CcxHgS3AVyImjWItfTgZmnHFmaqgsqSBvaeWDgKNEpWAVMb6ZEUTk6xN0bpa8fEBzAwhrxOx6L/RSe7cdTv0YlU2XC1Q85KoBWWbr5Qc5bkVrhzVOcVeVX+2227c6Xdovxd","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-07-12T00:25:11.229146" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c89491c83d0&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-07-12T00:25:11.228793" elapsed="0.000565"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.229639" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:25:11.247382" 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-07-12T00:25:11.229513" elapsed="0.017932"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.247714" 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-07-12T00:25:11.458888" 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-07-12T00:25:11.247612" elapsed="0.211397"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.459371" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:25:11.508132" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:25:11.508243" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWR...</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-07-12T00:25:11.459264" elapsed="0.049007"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:25:11.512622" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWR...</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-07-12T00:25:11.508451" elapsed="0.004221"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:25:11.228338" elapsed="0.284398"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.555880" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:25:11.513176" elapsed="0.042821"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.563367" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:25:11.556141" elapsed="0.007290"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-07-12T00:25:11.512908" elapsed="0.050587"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:25:11.564180" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:25:11.564326" 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-07-12T00:25:11.564004" elapsed="0.000349"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:25:11.564753" 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-07-12T00:25:11.564495" elapsed="0.000284"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:25:11.565144" 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-07-12T00:25:11.564920" elapsed="0.000251"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:11.587033" level="INFO">PUT Request : url=http://10.30.171.144: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-07-12T00:25:11.587083" level="INFO">PUT Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:25:11 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:11.587181" 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-07-12T00:25:11.565303" elapsed="0.021904"/>
</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-07-12T00:25:11.587361" elapsed="0.002099"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-07-12T00:25:11.563692" elapsed="0.025844"/>
</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-07-12T00:25:11.596814" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:25:11.597522" 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-07-12T00:25:11.596668" elapsed="0.000896"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:25:11.598037" 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-07-12T00:25:11.597714" elapsed="0.000366"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:11.596395" elapsed="0.001741"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:11.593170" elapsed="0.004990"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-07-12T00:25:11.598336" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:11.598188" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:11.593146" elapsed="0.005261"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:25:11.598805" 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-07-12T00:25:11.598551" elapsed="0.000281"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:25:11.599222" 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-07-12T00:25:11.598974" elapsed="0.000281"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:25:11.599667" 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-07-12T00:25:11.599410" elapsed="0.000317"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:25:11.600099" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQ...</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-07-12T00:25:11.599870" elapsed="0.000256"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:11.613958" level="INFO">POST Request : url=http://10.30.171.144: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=node0bj7a5cdqadh1engy20f58qp72.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:25:11.614009" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:11.614096" 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-07-12T00:25:11.600257" elapsed="0.013865"/>
</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-07-12T00:25:11.614281" elapsed="0.002094"/>
</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-07-12T00:25:11.589797" elapsed="0.026643"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:25:11.616767" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-07-12T00:25:11.923232" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:25:11.923455" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:25:11.923500" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:25:11.923561" 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-07-12T00:25:11.616595" elapsed="0.306993"/>
</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-07-12T00:25:11.925221" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:11.924853" elapsed="0.000396"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:11.925608" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:11.925332" elapsed="0.000334"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:11.925308" elapsed="0.000384"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:11.939595" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:11.939843" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:11.939952" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:11.932733" elapsed="0.007245"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:11.940359" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:11.940057" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:11.942704" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:11.940579" elapsed="0.002176"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:11.940440" elapsed="0.002391"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:11.940038" elapsed="0.002817"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:11.942981" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:11.943474" elapsed="0.002199"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:11.943352" elapsed="0.002361"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:11.948120" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:11.945913" elapsed="0.002287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:11.945796" elapsed="0.002484">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:11.943211" elapsed="0.005130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:11.932291" elapsed="0.016152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:11.924468" elapsed="0.024085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:13.951356" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:13.950429" elapsed="0.000997"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:13.952196" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:13.951643" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:13.951596" elapsed="0.000783"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:13.971351" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:13.971615" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:13.971722" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:13.962387" elapsed="0.009361"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:13.972214" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:13.971896" elapsed="0.000380"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:13.975398" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:13.972425" elapsed="0.003088"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:13.972302" elapsed="0.003322"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:13.971875" elapsed="0.003796"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:13.975946" elapsed="0.000428"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:13.977134" elapsed="0.005082"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:13.976847" elapsed="0.005493"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:13.984892" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:13.982632" elapsed="0.002340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:13.982495" elapsed="0.002551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:13.976507" elapsed="0.008598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:13.961787" elapsed="0.023422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:13.949444" elapsed="0.035858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:15.988187" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:15.987213" elapsed="0.001044"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:15.989064" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:15.988443" elapsed="0.000756"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:15.988399" elapsed="0.000856"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:16.008492" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:16.008987" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:16.009155" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:16.000686" elapsed="0.008509"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:16.009895" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:16.009340" elapsed="0.000645"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:16.013641" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:16.010220" elapsed="0.003501"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:16.010023" elapsed="0.003750"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:16.009305" elapsed="0.004500"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:16.013995" 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-07-12T00:25:16.014957" elapsed="0.003084"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:16.014746" elapsed="0.003339"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:16.020616" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:16.018376" elapsed="0.002323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:16.018243" elapsed="0.002534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:16.014339" elapsed="0.006497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:16.000126" elapsed="0.020822">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:15.986262" elapsed="0.034783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:18.023954" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:18.023010" 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-07-12T00:25:18.024923" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:18.024330" elapsed="0.000725"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:18.024281" elapsed="0.000829"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:18.045107" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:18.045353" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:18.045510" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:18.037181" elapsed="0.008407"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:18.046130" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:18.045717" elapsed="0.000492"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:18.049377" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:18.046423" elapsed="0.003024"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:18.046243" elapsed="0.003253"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:18.045691" elapsed="0.003853"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:18.049719" 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-07-12T00:25:18.050384" elapsed="0.003042"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:18.050220" elapsed="0.003264"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:18.056898" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:18.053782" elapsed="0.003197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:18.053619" elapsed="0.003434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:18.050034" elapsed="0.007079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:18.036757" elapsed="0.020457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:18.022031" elapsed="0.035328">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:20.060221" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:20.059563" elapsed="0.000708"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:20.060837" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:20.060410" elapsed="0.000520"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:20.060374" elapsed="0.000597"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:20.079124" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:20.079461" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:20.079663" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:20.070757" elapsed="0.008945"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:20.080375" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:20.079847" elapsed="0.000616"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:20.083498" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:20.080695" elapsed="0.002876"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:20.080500" elapsed="0.003108"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:20.079811" elapsed="0.003819"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:20.083758" 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-07-12T00:25:20.084266" elapsed="0.002190"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:20.084135" elapsed="0.002363"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:20.089051" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:20.086732" elapsed="0.002407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:20.086609" elapsed="0.002623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:20.083995" elapsed="0.005317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:20.070016" elapsed="0.019477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:20.058610" elapsed="0.031072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:22.092623" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:22.091647" 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-07-12T00:25:22.093486" elapsed="0.000082"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:22.092896" elapsed="0.000794"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:22.092848" elapsed="0.000903"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:22.112028" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:22.112272" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:22.112376" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:22.104887" 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-07-12T00:25:22.112818" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:22.112484" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:22.115169" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:22.113033" elapsed="0.002187"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:22.112902" elapsed="0.002353"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:22.112465" 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-07-12T00:25:22.115400" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:22.115910" elapsed="0.002208"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:22.115785" elapsed="0.002374"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:22.121334" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:22.118360" elapsed="0.003082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:22.118242" elapsed="0.003324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:22.115647" elapsed="0.006096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:22.104256" elapsed="0.017644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:22.090667" elapsed="0.031374">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:24.125414" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:24.124141" elapsed="0.001346"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:24.126334" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:24.125729" elapsed="0.000737"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:24.125679" elapsed="0.000843"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:24.147348" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:24.147626" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:24.147754" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:24.138871" elapsed="0.008910"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:24.148218" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:24.147877" elapsed="0.000401"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:24.151120" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:24.148432" elapsed="0.002760"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:24.148303" elapsed="0.002939"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:24.147854" elapsed="0.003416"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:24.151443" 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-07-12T00:25:24.152153" elapsed="0.003048"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:24.151979" elapsed="0.003282"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:24.158809" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:24.155576" elapsed="0.003343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:24.155378" elapsed="0.003813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:24.151789" elapsed="0.007492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:24.138258" elapsed="0.021175">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:24.123165" elapsed="0.036429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:26.163163" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:26.162114" 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-07-12T00:25:26.164145" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:26.163438" elapsed="0.000845"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:26.163385" elapsed="0.000956"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:26.181777" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:26.182085" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:26.182199" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:26.174048" elapsed="0.008186"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:26.182722" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:26.182343" elapsed="0.000454"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:26.185504" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:26.182957" elapsed="0.002654"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:26.182823" elapsed="0.002839"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:26.182317" 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-07-12T00:25:26.185878" 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-07-12T00:25:26.186611" elapsed="0.003442"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:26.186407" elapsed="0.003707"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:26.193696" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:26.190401" elapsed="0.003477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:26.190231" elapsed="0.003759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:26.186206" elapsed="0.007895">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:26.173435" elapsed="0.020819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:26.161021" elapsed="0.033364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:28.197309" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:28.196231" 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="NOT RUN" start="2026-07-12T00:25:28.198137" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:28.197589" elapsed="0.000676"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:28.197516" elapsed="0.000802"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:28.216664" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:28.216953" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:28.217097" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:28.209309" elapsed="0.007827"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:28.217703" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:28.217251" elapsed="0.000537"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:28.221107" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:28.218014" elapsed="0.003165"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:28.217826" elapsed="0.003402"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:28.217224" elapsed="0.004034"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:28.221429" elapsed="0.000329"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:28.222224" elapsed="0.003140"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:28.222057" elapsed="0.003365"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:28.228548" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:28.225725" elapsed="0.002905">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:28.225557" elapsed="0.003147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:28.221853" elapsed="0.006912">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:28.208882" elapsed="0.019997">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:28.195309" elapsed="0.033684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:30.232023" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:30.231060" 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-07-12T00:25:30.232904" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:30.232285" elapsed="0.000755"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:30.232240" elapsed="0.000857"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:30.249906" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:30.250151" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:30.250269" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:30.243192" elapsed="0.007104"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:30.250795" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:30.250377" elapsed="0.000486"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:30.253128" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:30.251019" elapsed="0.002162"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:30.250890" elapsed="0.002326"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:30.250359" elapsed="0.002878"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:30.253362" elapsed="0.000186"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:30.253892" elapsed="0.002190"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:30.253743" elapsed="0.002380"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:30.258561" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:30.256326" elapsed="0.002315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:30.256207" elapsed="0.002509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:30.253606" elapsed="0.005170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:30.242771" elapsed="0.016107">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:30.230041" elapsed="0.028934">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:32.261820" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:32.260885" 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="NOT RUN" start="2026-07-12T00:25:32.262709" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:32.262108" elapsed="0.000735"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:32.262061" elapsed="0.000837"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:32.280354" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:32.280695" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:32.280831" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:32.273591" elapsed="0.007270"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:32.281333" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:32.280966" elapsed="0.000427"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:32.283770" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:32.281572" elapsed="0.002252"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:32.281420" elapsed="0.002439"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:32.280939" elapsed="0.002941"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:32.284008" 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-07-12T00:25:32.284508" elapsed="0.003102"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:32.284379" elapsed="0.003294"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:32.291338" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:32.287975" elapsed="0.003474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:32.287795" elapsed="0.003787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:32.284241" elapsed="0.007434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:32.272624" elapsed="0.019204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:32.259916" elapsed="0.032053">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:34.294860" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:34.293937" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:34.295894" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:34.295244" elapsed="0.000788"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:34.295197" elapsed="0.000892"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:34.313922" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:34.314176" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:34.314279" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:34.305839" elapsed="0.008465"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:34.314718" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:34.314385" elapsed="0.000391"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:34.318278" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:34.314927" elapsed="0.003464"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:34.314801" elapsed="0.003668"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:34.314366" elapsed="0.004149"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:34.318825" 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-07-12T00:25:34.319940" elapsed="0.004921"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:34.319654" elapsed="0.005298"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:34.329101" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:34.325397" elapsed="0.003787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:34.325134" elapsed="0.004125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:34.319327" elapsed="0.009993">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:34.305216" elapsed="0.024211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:34.292966" elapsed="0.036617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:36.332593" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:36.331626" 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-07-12T00:25:36.333430" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:36.332866" elapsed="0.000727"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:36.332817" elapsed="0.000835"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:36.352564" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:36.352798" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:36.352909" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:36.345346" elapsed="0.007589"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:36.353313" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:36.353016" elapsed="0.000355"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:36.355702" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:36.353549" elapsed="0.002206"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:36.353395" elapsed="0.002394"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:36.352997" 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-07-12T00:25:36.355934" 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-07-12T00:25:36.356419" elapsed="0.002204"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:36.356300" elapsed="0.002365"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:36.361954" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:36.358901" elapsed="0.003155">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:36.358748" elapsed="0.003409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:36.356165" elapsed="0.006076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:36.344763" elapsed="0.017692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:36.330471" elapsed="0.032145">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:38.364286" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:38.363850" elapsed="0.000473"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:38.364698" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:38.364418" elapsed="0.000339"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:38.364394" elapsed="0.000388"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:38.381831" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:38.382241" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:38.382350" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:38.371376" elapsed="0.011000"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:38.382767" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:38.382455" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:38.385077" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:38.382981" elapsed="0.002150"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:38.382850" elapsed="0.002316"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:38.382437" elapsed="0.002751"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:38.385312" elapsed="0.000168"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:38.385810" elapsed="0.002437"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:38.385689" elapsed="0.002599"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:38.390730" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:38.388490" elapsed="0.002317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:38.388372" elapsed="0.002508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:38.385552" elapsed="0.005443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:38.370957" elapsed="0.020142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:38.363346" elapsed="0.027849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:40.394595" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:40.393501" elapsed="0.001175"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:40.395516" elapsed="0.000085"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:40.394897" elapsed="0.000798"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:40.394841" elapsed="0.000917"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:40.413367" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:40.413733" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:40.413874" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:40.405818" elapsed="0.008092"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:40.414437" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:40.414022" elapsed="0.000496"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:40.417777" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:40.414771" elapsed="0.003080"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:40.414575" elapsed="0.003325"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:40.413997" elapsed="0.003932"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:40.418101" 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-07-12T00:25:40.418807" elapsed="0.002997"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:40.418639" elapsed="0.003205"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:40.424232" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:40.422044" elapsed="0.002274">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:40.421927" elapsed="0.002525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:40.418424" elapsed="0.006091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:40.405387" elapsed="0.019251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:40.392292" elapsed="0.032440">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:42.427659" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:42.426703" 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-07-12T00:25:42.428598" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:42.427927" elapsed="0.000806"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:42.427879" elapsed="0.000911"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:42.450061" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:42.450306" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:42.450416" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:42.442293" elapsed="0.008154"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:42.451005" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:42.450593" elapsed="0.000492"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:42.454253" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:42.451301" elapsed="0.003023"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:42.451119" elapsed="0.003256"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:42.450566" elapsed="0.003841"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:42.454598" 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-07-12T00:25:42.455268" elapsed="0.003041"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:42.455104" elapsed="0.003263"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:42.461351" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:42.458665" elapsed="0.002828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:42.458481" elapsed="0.003104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:42.454916" elapsed="0.006731">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:42.441867" elapsed="0.019890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:42.425718" elapsed="0.036132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:44.464909" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:44.463895" 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="NOT RUN" start="2026-07-12T00:25:44.465885" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:44.465194" elapsed="0.000830"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:44.465144" elapsed="0.000943"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:44.482348" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:44.482696" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:44.482848" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:44.475697" elapsed="0.007190"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:44.483493" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:44.483006" elapsed="0.000593"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:44.487305" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:44.483830" elapsed="0.003552"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:44.483636" elapsed="0.003799"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:44.482978" elapsed="0.004489"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:44.487671" elapsed="0.000321"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:44.488463" elapsed="0.003248"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:44.488283" elapsed="0.003469"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:44.494161" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:44.491955" elapsed="0.002293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:44.491836" elapsed="0.002490">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:44.488081" elapsed="0.006305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:44.475249" elapsed="0.019244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:44.462841" elapsed="0.031764">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:46.498303" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:46.497106" elapsed="0.001284"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:46.499304" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:46.498674" elapsed="0.000766"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:46.498601" elapsed="0.000906"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:46.519104" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:46.519491" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:46.519621" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:46.510083" elapsed="0.009565"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:46.520280" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:46.519727" elapsed="0.000613"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:46.522834" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:46.520501" elapsed="0.002408"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:46.520366" elapsed="0.002592"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:46.519709" elapsed="0.003279"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:46.523175" 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-07-12T00:25:46.523952" elapsed="0.003158"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:46.523776" elapsed="0.003401"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:46.530671" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:46.527466" elapsed="0.003343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:46.527298" elapsed="0.003629">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:46.523555" elapsed="0.007460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:46.509464" elapsed="0.021708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:46.495879" elapsed="0.035438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:48.534639" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:48.533446" 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-07-12T00:25:48.535611" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:48.534968" elapsed="0.000827"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:48.534916" elapsed="0.000962"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:48.559690" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:48.560253" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:48.560511" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:48.547467" elapsed="0.013133"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:48.561509" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:48.560792" elapsed="0.000880"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:48.567026" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:48.562012" elapsed="0.005125"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:48.561729" elapsed="0.005487"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:48.560746" elapsed="0.006518"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:48.567569" 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-07-12T00:25:48.568681" elapsed="0.002728"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:48.568352" elapsed="0.003100"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:48.573915" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:48.571670" elapsed="0.002327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:48.571550" elapsed="0.002524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:48.568062" elapsed="0.006071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:48.546732" elapsed="0.027508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:48.532345" elapsed="0.041990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:50.577580" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:50.576336" elapsed="0.001335"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:50.578758" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:50.578050" elapsed="0.000865"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:50.577988" elapsed="0.000994"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:50.597818" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:50.598065" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:50.598165" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:50.590723" elapsed="0.007469"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:50.598583" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:50.598271" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:50.601119" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:50.598798" elapsed="0.002373"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:50.598664" elapsed="0.002542"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:50.598252" elapsed="0.002975"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:50.601350" 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-07-12T00:25:50.601857" elapsed="0.002183"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:50.601738" elapsed="0.002344"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:50.606568" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:50.604314" elapsed="0.002336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:50.604193" elapsed="0.002537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:50.601601" elapsed="0.005189">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:50.590284" elapsed="0.016608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:50.575285" elapsed="0.031735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:52.609928" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:52.608968" elapsed="0.001038"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:52.610816" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:52.610195" elapsed="0.000755"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:52.610149" elapsed="0.000856"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:52.628344" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:52.628679" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:52.628825" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:52.620560" elapsed="0.008302"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:52.629390" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:52.628972" elapsed="0.000497"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:52.632706" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:52.629697" elapsed="0.003082"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:52.629503" elapsed="0.003325"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:52.628947" elapsed="0.003912"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:52.633031" 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-07-12T00:25:52.633720" elapsed="0.003096"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:52.633551" elapsed="0.003323"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:52.639702" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:52.637254" elapsed="0.002527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:52.636990" elapsed="0.002864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:52.633346" elapsed="0.006568">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:52.619956" elapsed="0.020118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:52.608002" elapsed="0.032168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:54.643124" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:54.642112" 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-07-12T00:25:54.644071" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:54.643395" elapsed="0.000817"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:54.643346" elapsed="0.000926"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:54.663052" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:54.663371" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:54.663523" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:54.655708" elapsed="0.007881"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:54.664104" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:54.663699" elapsed="0.000482"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:54.667450" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:54.664384" elapsed="0.003162"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:54.664215" elapsed="0.003384"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:54.663674" elapsed="0.003956"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:54.667823" 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-07-12T00:25:54.668505" elapsed="0.003180"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:54.668340" elapsed="0.003403"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:54.675082" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:54.672022" elapsed="0.003165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:54.671857" elapsed="0.003432">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:54.668152" elapsed="0.007287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:54.655268" elapsed="0.020338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:54.641113" elapsed="0.034627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:56.678022" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:56.677416" elapsed="0.000653"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:56.678596" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:56.678194" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:56.678164" elapsed="0.000549"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:56.695410" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:56.695675" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:56.695774" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:56.687783" elapsed="0.008017"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:56.696171" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:56.695877" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:56.698962" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:56.696376" elapsed="0.002658"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:56.696250" elapsed="0.002831"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:56.695859" elapsed="0.003252"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:56.699278" elapsed="0.000232"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:25:56.699960" elapsed="0.003041"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:56.699799" elapsed="0.003258"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:56.706414" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:56.703332" elapsed="0.003188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:56.703169" elapsed="0.003535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:56.699612" elapsed="0.007178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:56.687189" elapsed="0.019741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:56.676660" elapsed="0.030401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:25:58.709077" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:25:58.708494" elapsed="0.000629"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:25:58.709611" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:58.709249" elapsed="0.000441"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:58.709217" elapsed="0.000506"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:25:58.726770" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:25:58.727208" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:25:58.727388" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:25:58.718752" elapsed="0.008674"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:25:58.728081" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:25:58.727589" elapsed="0.000570"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:25:58.731043" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:25:58.728397" elapsed="0.002700"/>
</kw>
<status status="PASS" start="2026-07-12T00:25:58.728194" elapsed="0.002937"/>
</branch>
<status status="PASS" start="2026-07-12T00:25:58.727554" elapsed="0.003598"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:25:58.731278" 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-07-12T00:25:58.731811" elapsed="0.002221"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:25:58.731673" elapsed="0.002401"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:25:58.736491" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:25:58.734280" elapsed="0.002382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:25:58.734157" elapsed="0.002584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:25:58.731514" elapsed="0.005287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:25:58.718012" elapsed="0.018897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:25:58.707876" elapsed="0.029136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:00.738990" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:00.738370" elapsed="0.000674"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:00.739581" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:00.739171" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:00.739141" elapsed="0.000562"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:00.759258" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:00.759514" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:00.759651" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:00.750817" elapsed="0.008861"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:00.760054" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:00.759758" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:00.762357" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:00.760258" elapsed="0.002153"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:00.760136" elapsed="0.002311"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:00.759740" elapsed="0.002728"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:00.762607" elapsed="0.000484"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:00.763681" elapsed="0.003481"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:00.763438" elapsed="0.003799"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:00.771876" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:00.767661" elapsed="0.004350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:00.767387" elapsed="0.004763">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:00.763201" elapsed="0.009060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:00.750213" elapsed="0.022235">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:00.737747" elapsed="0.034904">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:02.776034" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:02.775144" elapsed="0.000938"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:02.776580" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:02.776211" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:02.776179" elapsed="0.000519"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:02.793812" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:02.794146" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:02.794279" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:02.785852" elapsed="0.008462"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:02.794958" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:02.794416" elapsed="0.000618"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:02.798138" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:02.795242" elapsed="0.002966"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:02.795069" elapsed="0.003188"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:02.794391" elapsed="0.003896"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:02.798456" elapsed="0.000283"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:02.799181" elapsed="0.029481"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:02.799010" elapsed="0.029715"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:02.831351" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:02.829000" elapsed="0.002432">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:02.828840" elapsed="0.002671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:02.798820" elapsed="0.032771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:02.785304" elapsed="0.046398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:02.773858" elapsed="0.057939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:04.834897" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:04.833920" elapsed="0.001048"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:04.835782" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:04.835164" elapsed="0.000750"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:04.835117" elapsed="0.000855"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:04.860069" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:04.860492" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:04.860684" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:04.848475" elapsed="0.012251"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:04.861358" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:04.860876" elapsed="0.000568"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:04.864983" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:04.861716" elapsed="0.003345"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:04.861481" elapsed="0.003634"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:04.860842" elapsed="0.004304"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:04.865334" elapsed="0.000430"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:04.866296" elapsed="0.003447"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:04.866112" elapsed="0.003695"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:04.873743" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:04.870119" elapsed="0.003739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:04.869938" elapsed="0.004031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:04.865863" elapsed="0.008210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:04.848013" elapsed="0.026217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:04.832840" elapsed="0.041529">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:06.877189" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:06.876238" 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-07-12T00:26:06.878148" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:06.877588" elapsed="0.000691"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:06.877510" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:06.900410" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:06.900962" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:06.901182" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:06.888795" elapsed="0.012446"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:06.902122" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:06.901437" elapsed="0.000812"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:06.907482" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:06.902669" elapsed="0.004962"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:06.902304" elapsed="0.005407"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:06.901390" elapsed="0.006369"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:06.908033" elapsed="0.000369"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:06.909169" elapsed="0.002408"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:06.908905" elapsed="0.002713"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:06.914028" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:06.911821" elapsed="0.002288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:06.911701" elapsed="0.002484">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:06.908600" elapsed="0.005646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:06.888177" elapsed="0.026172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:06.875305" elapsed="0.039172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:08.917887" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:08.916911" elapsed="0.001047"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:08.918730" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:08.918143" elapsed="0.000719"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:08.918097" elapsed="0.000821"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:08.937016" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:08.937256" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:08.937366" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:08.928995" elapsed="0.008399"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:08.937791" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:08.937473" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:08.940140" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:08.937995" elapsed="0.002197"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:08.937873" elapsed="0.002354"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:08.937454" elapsed="0.002795"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:08.940376" elapsed="0.000296"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:08.941097" elapsed="0.003063"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:08.940934" elapsed="0.003284"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:08.947822" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:08.944554" elapsed="0.003375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:08.944333" elapsed="0.003697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:08.940749" elapsed="0.007364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:08.928394" elapsed="0.019946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:08.915863" elapsed="0.032596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:10.951292" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:10.950326" elapsed="0.001038"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:10.952143" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:10.951585" elapsed="0.000687"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:10.951506" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:10.971627" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:10.971863" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:10.971962" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:10.962630" elapsed="0.009359"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:10.972361" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:10.972068" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:10.974897" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:10.972582" elapsed="0.002368"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:10.972442" elapsed="0.002544"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:10.972050" elapsed="0.002958"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:10.975132" 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-07-12T00:26:10.975749" elapsed="0.004154"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:10.975518" elapsed="0.004462"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:10.983413" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:10.980297" elapsed="0.003220">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:10.980112" elapsed="0.003528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:10.975360" elapsed="0.008489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:10.962040" elapsed="0.021957">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:10.949354" elapsed="0.034775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:12.987081" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:12.986135" 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-07-12T00:26:12.987937" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:12.987341" elapsed="0.000728"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:12.987294" elapsed="0.000831"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:13.007251" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:13.007602" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:13.007749" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:12.998245" elapsed="0.009540"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:13.008306" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:13.007893" elapsed="0.000491"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:13.011590" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:13.008634" elapsed="0.003030"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:13.008418" elapsed="0.003295"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:13.007868" elapsed="0.003875"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:13.011923" 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-07-12T00:26:13.012626" elapsed="0.003093"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:13.012440" elapsed="0.003337"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:13.018992" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:13.016056" elapsed="0.003014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:13.015893" elapsed="0.003318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:13.012241" elapsed="0.007032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:12.997643" elapsed="0.021739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:12.985143" elapsed="0.034334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:15.022340" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:15.021420" 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-07-12T00:26:15.023186" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:15.022630" elapsed="0.000689"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:15.022580" elapsed="0.000794"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:15.041491" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:15.041832" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:15.041985" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:15.033672" elapsed="0.008349"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:15.042582" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:15.042136" elapsed="0.000528"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:15.045811" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:15.042873" elapsed="0.003009"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:15.042700" elapsed="0.003230"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:15.042110" elapsed="0.003850"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:15.046129" 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-07-12T00:26:15.046817" elapsed="0.003086"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:15.046651" elapsed="0.003312"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:15.053360" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:15.050243" elapsed="0.003309">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:15.050078" elapsed="0.003583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:15.046443" elapsed="0.007301">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:15.033239" elapsed="0.020646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:15.020412" elapsed="0.033606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:17.057206" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:17.056187" elapsed="0.001089"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:17.058070" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:17.057481" elapsed="0.000716"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:17.057433" elapsed="0.000822"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:17.077000" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:17.077247" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:17.077346" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:17.068888" elapsed="0.008484"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:17.077769" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:17.077449" elapsed="0.000377"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:17.080285" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:17.077975" elapsed="0.002361"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:17.077850" elapsed="0.002521"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:17.077431" elapsed="0.002961"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:17.080516" 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-07-12T00:26:17.081090" elapsed="0.003186"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:17.080970" elapsed="0.003365"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:17.087948" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:17.084650" elapsed="0.003408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:17.084455" elapsed="0.003709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:17.080833" elapsed="0.007420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:17.068260" elapsed="0.020140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:17.054978" elapsed="0.033579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:19.091410" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:19.090461" 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-07-12T00:26:19.092256" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:19.091701" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:19.091653" elapsed="0.000787"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:19.110314" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:19.110590" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:19.110691" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:19.103091" 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-07-12T00:26:19.111352" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:19.110807" elapsed="0.000625"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:19.114620" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:19.111663" elapsed="0.003030"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:19.111467" elapsed="0.003274"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:19.110783" elapsed="0.003987"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:19.114959" 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-07-12T00:26:19.115663" elapsed="0.003177"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:19.115474" elapsed="0.003442"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:19.121329" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:19.119135" elapsed="0.002275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:19.119017" elapsed="0.002469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:19.115283" elapsed="0.006284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:19.102657" elapsed="0.019019">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:19.089487" elapsed="0.032285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:21.123939" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:21.123315" elapsed="0.000671"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:21.124482" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:21.124114" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:21.124083" elapsed="0.000544"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:21.141650" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:21.142118" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:21.142276" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:21.134407" elapsed="0.007907"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:21.142867" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:21.142424" elapsed="0.000572"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:21.146341" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:21.143302" elapsed="0.003112"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:21.143056" elapsed="0.003408"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:21.142399" elapsed="0.004096"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:21.146689" 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-07-12T00:26:21.147432" elapsed="0.003194"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:21.147258" elapsed="0.003427"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:21.153221" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:21.150994" elapsed="0.002307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:21.150800" elapsed="0.002576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:21.147020" elapsed="0.006415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:21.133971" elapsed="0.019580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:21.122628" elapsed="0.031021">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:23.156928" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:23.155801" elapsed="0.001253"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:23.157986" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:23.157372" elapsed="0.000703"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:23.157319" elapsed="0.000796"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:23.178803" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:23.179116" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:23.179280" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:23.171046" 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-07-12T00:26:23.180003" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:23.179457" elapsed="0.000636"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:23.184080" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:23.180330" elapsed="0.003828"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:23.180130" elapsed="0.004081"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:23.179425" elapsed="0.004818"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:23.184426" 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-07-12T00:26:23.185203" elapsed="0.003722"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:23.185014" elapsed="0.004024"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:23.191908" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:23.189364" elapsed="0.002648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:23.189178" elapsed="0.002937">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:23.184790" elapsed="0.007413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:23.170580" elapsed="0.021775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:23.154682" elapsed="0.037872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:25.196937" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:25.195771" elapsed="0.001273"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:25.197629" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:25.197229" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:25.197195" elapsed="0.000556"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:25.215378" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:25.215672" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:25.215778" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:25.207320" elapsed="0.008484"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:25.216213" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:25.215883" elapsed="0.000390"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:25.219321" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:25.216454" elapsed="0.002941"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:25.216297" elapsed="0.003174"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:25.215865" elapsed="0.003685"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:25.219753" 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-07-12T00:26:25.220483" elapsed="0.003209"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:25.220295" elapsed="0.003459"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:25.227256" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:25.224038" elapsed="0.003324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:25.223872" elapsed="0.003594">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:25.220104" elapsed="0.007468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:25.206686" elapsed="0.021157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:25.194672" elapsed="0.033315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:27.230705" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:27.229808" elapsed="0.000966"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:27.231581" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:27.230958" elapsed="0.000754"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:27.230912" elapsed="0.000853"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:27.247402" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:27.247661" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:27.247772" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:27.240900" elapsed="0.006899"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:27.248215" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:27.247878" elapsed="0.000419"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:27.251684" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:27.248516" elapsed="0.003244"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:27.248334" elapsed="0.003477"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:27.247860" 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-07-12T00:26:27.252023" elapsed="0.000247"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:27.252745" elapsed="0.003271"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:27.252568" elapsed="0.003508"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:27.258482" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:27.256295" elapsed="0.002283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:27.256177" elapsed="0.002476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:27.252352" elapsed="0.006417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:27.240468" elapsed="0.018406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:27.228907" elapsed="0.030060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:29.261707" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:29.260802" elapsed="0.000974"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:29.262612" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:29.261960" elapsed="0.000785"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:29.261914" elapsed="0.000885"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:29.280120" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:29.280390" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:29.280498" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:29.272650" 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-07-12T00:26:29.280960" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:29.280635" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:29.283780" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:29.281170" elapsed="0.002688"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:29.281043" elapsed="0.002867"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:29.280614" elapsed="0.003328"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:29.284124" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:29.284855" elapsed="0.003286"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:29.284675" elapsed="0.003528"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:29.291837" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:29.288502" elapsed="0.003446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:29.288326" elapsed="0.003831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:29.284459" elapsed="0.007791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:29.272012" elapsed="0.020390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:29.259898" elapsed="0.032667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:31.295440" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:31.294505" 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-07-12T00:26:31.296302" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:31.295734" elapsed="0.000702"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:31.295686" elapsed="0.000805"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:31.314023" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:31.314368" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:31.314467" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:31.306314" elapsed="0.008179"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:31.314884" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:31.314589" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:31.317285" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:31.315090" elapsed="0.002263"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:31.314966" elapsed="0.002424"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:31.314570" elapsed="0.002841"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:31.317556" 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-07-12T00:26:31.318047" elapsed="0.002955"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:31.317928" elapsed="0.003133"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:31.324433" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:31.321375" elapsed="0.003257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:31.321174" elapsed="0.003563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:31.317792" elapsed="0.007027">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:31.305727" elapsed="0.019234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:31.293567" elapsed="0.031525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:33.327952" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:33.327023" 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-07-12T00:26:33.328835" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:33.328209" elapsed="0.000757"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:33.328164" elapsed="0.000858"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:33.347121" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:33.347370" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:33.347479" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:33.340580" elapsed="0.006925"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:33.347902" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:33.347606" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:33.350237" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:33.348106" elapsed="0.002182"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:33.347983" elapsed="0.002340"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:33.347587" elapsed="0.002758"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:33.350467" 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-07-12T00:26:33.351026" elapsed="0.002182"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:33.350906" elapsed="0.002344"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:33.355670" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:33.353451" elapsed="0.002298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:33.353333" elapsed="0.002490">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:33.350771" elapsed="0.005113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:33.340113" elapsed="0.015872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:33.326038" elapsed="0.030041">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:35.358954" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:35.358017" 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-07-12T00:26:35.359971" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:35.359214" elapsed="0.000894"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:35.359167" elapsed="0.000998"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:35.381629" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:35.381864" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:35.381963" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:35.374879" elapsed="0.007110"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:35.382419" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:35.382067" elapsed="0.000409"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:35.384940" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:35.382645" elapsed="0.002347"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:35.382501" elapsed="0.002526"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:35.382049" elapsed="0.003000"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:35.385170" 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-07-12T00:26:35.385676" elapsed="0.002210"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:35.385554" elapsed="0.002373"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:35.391114" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:35.388127" elapsed="0.003091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:35.388010" elapsed="0.003310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:35.385399" elapsed="0.006056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:35.373924" elapsed="0.017727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:35.357048" elapsed="0.034738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:37.394649" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:37.393693" 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-07-12T00:26:37.395472" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:37.394914" elapsed="0.000719"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:37.394866" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:37.414967" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:37.415342" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:37.415463" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:37.406882" elapsed="0.008608"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:37.416025" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:37.415613" elapsed="0.000473"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:37.418408" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:37.416247" elapsed="0.002250"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:37.416116" elapsed="0.002431"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:37.415587" elapsed="0.002984"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:37.418700" 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-07-12T00:26:37.419224" elapsed="0.003138"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:37.419088" elapsed="0.003352"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:37.426123" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:37.422765" elapsed="0.003474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:37.422585" elapsed="0.003765">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:37.418942" elapsed="0.007509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:37.406156" elapsed="0.020499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:37.392715" elapsed="0.034098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:39.429675" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:39.428720" elapsed="0.001028"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:26:39.430636" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:39.430045" elapsed="0.000725"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:39.429996" elapsed="0.000830"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:39.451331" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:39.451615" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:39.451742" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:39.443628" elapsed="0.008141"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:39.452231" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:39.451875" elapsed="0.000414"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:39.454673" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:39.452446" elapsed="0.002299"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:39.452317" elapsed="0.002477"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:39.451850" elapsed="0.002974"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:39.454996" 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-07-12T00:26:39.455714" elapsed="0.003127"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:39.455503" elapsed="0.003397"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:39.462247" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:39.459178" elapsed="0.003176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:39.459015" elapsed="0.003441">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:39.455315" elapsed="0.007245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:39.442844" elapsed="0.019863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:39.427765" elapsed="0.035148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:41.465835" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:41.464894" 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-07-12T00:26:41.466773" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:41.466100" elapsed="0.000833"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:41.466054" elapsed="0.000936"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:41.484482" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:41.484766" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:41.484866" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:41.477180" elapsed="0.007712"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:41.485267" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:41.484972" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:41.487603" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:41.485475" elapsed="0.002182"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:41.485348" elapsed="0.002344"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:41.484954" elapsed="0.002760"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:41.487836" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-07-12T00:26:41.488321" elapsed="0.002409"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:41.488203" elapsed="0.002569"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:41.493204" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:41.490974" elapsed="0.002315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:41.490856" elapsed="0.002511">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:41.488066" elapsed="0.005362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:41.476597" elapsed="0.017058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:41.463912" elapsed="0.029911">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:43.497685" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:43.496554" 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-07-12T00:26:43.498694" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:43.498022" elapsed="0.000812"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:43.497959" elapsed="0.000941"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:43.518963" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0bj7a5cdqadh1engy20f58qp72.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:43.519328" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:43.519436" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:43.510708" elapsed="0.008754"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:43.519934" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:43.519561" elapsed="0.000438"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:43.522389" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:43.520165" elapsed="0.002277"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:43.520025" elapsed="0.002453"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:43.519524" elapsed="0.002976"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:43.522657" 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-07-12T00:26:43.523255" elapsed="0.002690"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:26:43.523122" elapsed="0.002884"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:43.529491" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:43.526301" elapsed="0.003352">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-07-12T00:26:43.526130" elapsed="0.003641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:43.522951" elapsed="0.007039">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:43.510072" elapsed="0.020090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:43.495199" elapsed="0.035100">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-07-12T00:26:43.530438" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' 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-07-12T00:25:11.923810" elapsed="91.606820">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' 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-07-12T00:26:43.531974" elapsed="0.000168"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:43.534967" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:26:43.814049" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:26:43.814634" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:26:43.814743" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:26:43.814841" 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-07-12T00:26:43.534385" elapsed="0.280512"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:43.816468" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:43.815576" elapsed="0.001028"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:43.817404" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:26:44.124330" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:26:44.124810" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:26:44.124912" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:26:44.125008" 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-07-12T00:26:43.816949" elapsed="0.308111"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.126048" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:26:44.186921" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:26:44.187371" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:26:44.187477" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:26:44.187618" 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-07-12T00:26:44.125578" elapsed="0.062098"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.188435" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:26:44.244423" 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-07-12T00:26:44.188144" elapsed="0.056476"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:44.262361" level="INFO">DELETE Request : url=http://10.30.171.144: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=node0bj7a5cdqadh1engy20f58qp72.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:44.262557" level="INFO">DELETE Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:44.262749" 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-07-12T00:26:44.244980" elapsed="0.017809"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:44.269260" level="INFO">DELETE Request : url=http://10.30.171.144: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=node0bj7a5cdqadh1engy20f58qp72.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:44.269558" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:26:44.269712" 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-07-12T00:26:44.263049" elapsed="0.006702"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:26:43.533375" elapsed="0.736485"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-07-12T00:25:11.227514" elapsed="93.042423">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCzH0MCXb/zbwXTKVOVKDyxoZtZXfsmLYpy8uQlPuHEvkXMcUorsAj5HoOfQ7zQo7hoWmclGj3toFB0N93KJzXT10fcTzu5g68bS02TzplqeQ5sDWzsKy4cpddx0165Snh+uemsAxLA3kLS5TFBLHpYZalJeAo41RM05uhA8FWRYgT887g3a5Is3nKqNNPDk2z+E4R4AII5KeYq9MrtNn0R9iNAQluNvqxiJNJUPWOdfEuYHWKxp4ylHjYmdA498B3ej3aiZ/ivqxoC7OHjdRhBkVxcm7MgJbjMtEkBZTV4DmevdqxWy6SXluT7ks2greo8Xbv5hR6E8ARz4vNEmjOR"}}]}}}' 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-07-12T00:26:44.272919" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c894a302850&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-07-12T00:26:44.272372" elapsed="0.000774"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.273773" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:26:44.292464" 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-07-12T00:26:44.273612" elapsed="0.019019"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.293160" 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-07-12T00:26:44.628742" 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-07-12T00:26:44.292942" elapsed="0.336050"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.629805" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:26:44.680725" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:26:44.681041" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZh...</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-07-12T00:26:44.629452" elapsed="0.051652"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:26:44.689930" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZh...</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-07-12T00:26:44.681589" elapsed="0.008448"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:26:44.271920" elapsed="0.418262"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.722289" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:26:44.691296" elapsed="0.031055"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.727262" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:26:44.722490" elapsed="0.004853"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-07-12T00:26:44.690616" elapsed="0.036815"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:26:44.728431" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:26:44.728640" 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-07-12T00:26:44.728135" elapsed="0.000541"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:26:44.729209" 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-07-12T00:26:44.728873" elapsed="0.000372"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:26:44.729774" 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-07-12T00:26:44.729439" elapsed="0.000373"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:44.748635" level="INFO">PUT Request : url=http://10.30.171.144: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-07-12T00:26:44.748706" level="INFO">PUT Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:26:44 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:44.748852" 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-07-12T00:26:44.729997" elapsed="0.018914"/>
</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-07-12T00:26:44.749253" elapsed="0.004751"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-07-12T00:26:44.727707" elapsed="0.026440"/>
</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-07-12T00:26:44.764653" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:26:44.764807" 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-07-12T00:26:44.764460" elapsed="0.000373"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:26:44.765329" 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-07-12T00:26:44.764992" elapsed="0.000384"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:44.764187" elapsed="0.001243"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:44.760900" elapsed="0.004554"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-07-12T00:26:44.765650" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:44.765482" elapsed="0.000218"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:44.760875" elapsed="0.004846"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:26:44.766097" 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-07-12T00:26:44.765858" elapsed="0.000265"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:26:44.766489" 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-07-12T00:26:44.766265" elapsed="0.000250"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:26:44.766897" 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-07-12T00:26:44.766674" elapsed="0.000249"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:26:44.767301" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaB...</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-07-12T00:26:44.767077" elapsed="0.000250"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:44.780602" level="INFO">POST Request : url=http://10.30.171.144: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=node01xelh0nanc44yf5z077klk0vd3.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:26:44.780802" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:44.780998" 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-07-12T00:26:44.767461" elapsed="0.013593"/>
</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-07-12T00:26:44.781389" elapsed="0.005260"/>
</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-07-12T00:26:44.754738" elapsed="0.032054"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:26:44.787562" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-07-12T00:26:45.073394" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:26:45.073797" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:26:45.073899" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:26:45.073994" 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-07-12T00:26:44.787151" elapsed="0.286896"/>
</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-07-12T00:26:45.077763" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:45.076910" elapsed="0.000914"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:45.078589" elapsed="0.000485"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:45.078003" elapsed="0.001162"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:45.077954" elapsed="0.001270"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:45.098290" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:45.098570" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:45.098680" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:45.091165" elapsed="0.007542"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:45.099331" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:45.098820" elapsed="0.000589"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:45.102647" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:45.099645" elapsed="0.003074"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:45.099446" elapsed="0.003321"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:45.098788" elapsed="0.004009"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:45.103136" elapsed="0.000265"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:45.107367" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:45.103984" elapsed="0.003501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:45.103763" elapsed="0.003974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:45.103487" elapsed="0.004397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:45.090699" elapsed="0.017299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:45.076089" elapsed="0.032007">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:47.110997" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:47.110205" elapsed="0.000857"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:47.111676" elapsed="0.000328"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:47.111248" elapsed="0.000809"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:47.111198" elapsed="0.000906"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:47.130693" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:47.131281" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:47.131569" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:47.122176" elapsed="0.009453"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:47.132570" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:47.131811" elapsed="0.000894"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:47.136834" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:47.133077" elapsed="0.003828"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:47.132763" elapsed="0.004191"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:47.131769" elapsed="0.005216"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:47.137167" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:47.141218" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:47.137989" elapsed="0.003485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:47.137784" elapsed="0.003830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:47.137557" elapsed="0.004152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:47.121347" elapsed="0.020522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:47.109217" elapsed="0.032809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:49.146017" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:49.144769" elapsed="0.001337"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:49.147088" elapsed="0.000606"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:49.146358" elapsed="0.001438"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:49.146294" elapsed="0.001574"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:49.166443" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:49.166925" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:49.167078" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:49.158316" elapsed="0.008800"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:49.167736" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:49.167230" elapsed="0.000593"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:49.171217" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:49.168049" elapsed="0.003245"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:49.167858" elapsed="0.003487"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:49.167203" elapsed="0.004173"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:49.171730" elapsed="0.000271"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:49.179509" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:49.172506" elapsed="0.007250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:49.172324" elapsed="0.007648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:49.172102" elapsed="0.008030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:49.157875" elapsed="0.022537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:49.143425" elapsed="0.037254">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:51.182891" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:51.182224" elapsed="0.000728"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:51.184025" elapsed="0.000605"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:51.183325" elapsed="0.001442"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:51.183095" elapsed="0.001747"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:51.205861" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:51.206145" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:51.206299" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:51.197411" elapsed="0.008926"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:51.206969" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:51.206467" elapsed="0.000591"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:51.210467" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:51.207370" elapsed="0.003191"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:51.207173" elapsed="0.003439"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:51.206437" elapsed="0.004205"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:51.210829" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:51.214820" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:51.211602" elapsed="0.003333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:51.211350" elapsed="0.003698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:51.211161" elapsed="0.003983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:51.196880" elapsed="0.018422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:51.181568" elapsed="0.033879">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:53.218387" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:53.217438" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:53.219298" elapsed="0.000498"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:53.218685" elapsed="0.001203"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:53.218636" elapsed="0.001311"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:53.240332" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:53.240682" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:53.240906" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:53.233463" elapsed="0.007482"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:53.241472" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:53.241058" elapsed="0.000515"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:53.244727" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:53.241781" elapsed="0.003018"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:53.241609" elapsed="0.003239"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:53.241031" 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-07-12T00:26:53.245050" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:53.248891" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:53.245742" elapsed="0.003255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:53.245575" elapsed="0.003525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:53.245366" elapsed="0.003819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:53.233037" elapsed="0.016289">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:53.216427" elapsed="0.033033">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:55.252345" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:55.251426" elapsed="0.000988"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:55.253186" elapsed="0.000489"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:55.252632" elapsed="0.001133"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:55.252584" elapsed="0.001236"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:55.274340" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:55.274784" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:55.274902" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:55.268261" elapsed="0.006667"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:55.275426" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:55.275042" elapsed="0.000445"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:55.277837" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:55.275661" elapsed="0.002228"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:55.275514" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:55.275014" elapsed="0.002933"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:55.278072" elapsed="0.000214"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:55.281869" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:55.278654" elapsed="0.003320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:55.278503" elapsed="0.003577">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:55.278358" elapsed="0.003809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:55.267597" elapsed="0.014736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:55.250441" elapsed="0.032025">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:57.285470" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:57.284454" elapsed="0.001125"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:57.286370" elapsed="0.000634"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:57.285780" elapsed="0.001322"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:57.285730" elapsed="0.001431"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:57.304633" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:57.305242" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:57.305754" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:57.297810" elapsed="0.008013"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:26:57.306946" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:57.306052" elapsed="0.001048"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:57.312240" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:57.307560" elapsed="0.004736"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:57.307173" elapsed="0.005159"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:57.306002" elapsed="0.006351"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:57.312479" elapsed="0.000190"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:57.315261" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:57.312995" elapsed="0.002351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:57.312872" elapsed="0.002553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:57.312730" elapsed="0.002757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:57.297361" elapsed="0.018249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:57.283440" elapsed="0.032267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:26:59.319325" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:26:59.318167" elapsed="0.001246"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:26:59.320434" elapsed="0.000796"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:59.319690" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:59.319628" elapsed="0.001788"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:26:59.338960" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:26:59.339255" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:26:59.339399" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:26:59.331877" 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-07-12T00:26:59.339907" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:26:59.339572" elapsed="0.000396"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:26:59.342278" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:26:59.340121" elapsed="0.002209"/>
</kw>
<status status="PASS" start="2026-07-12T00:26:59.339994" elapsed="0.002376"/>
</branch>
<status status="PASS" start="2026-07-12T00:26:59.339518" elapsed="0.002875"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:26:59.342516" elapsed="0.000189"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:26:59.345322" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:26:59.343025" elapsed="0.002405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:26:59.342903" elapsed="0.002651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:26:59.342764" elapsed="0.002878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:26:59.331407" elapsed="0.014376">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:26:59.316980" elapsed="0.029012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:01.348998" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:01.348048" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:01.349848" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:01.349256" elapsed="0.001145"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:01.349210" elapsed="0.001247"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:01.367071" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:01.367315" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:01.367450" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:01.360341" elapsed="0.007137"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:01.367906" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:01.367588" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:01.370231" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:01.368114" elapsed="0.002170"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:01.367990" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:01.367566" elapsed="0.002775"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:01.370463" elapsed="0.000187"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:01.373415" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:01.370967" elapsed="0.002526">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:01.370843" elapsed="0.002741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:01.370708" elapsed="0.002939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:01.359913" elapsed="0.013895">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:01.347014" elapsed="0.026891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:03.376825" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:03.375888" 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-07-12T00:27:03.377680" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:03.377088" elapsed="0.001145"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:03.377040" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:03.394027" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:03.394345" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:03.394679" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:03.387689" elapsed="0.007042"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:03.395254" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:03.394844" elapsed="0.000488"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:03.398459" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:03.395558" elapsed="0.003006"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:03.395367" elapsed="0.003247"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:03.394817" 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-07-12T00:27:03.398819" elapsed="0.000232"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:03.402682" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:03.399484" elapsed="0.003301">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:03.399318" elapsed="0.003570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:03.399131" elapsed="0.003924">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:03.387261" elapsed="0.015942">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:03.374908" elapsed="0.028429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:05.407029" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:05.405799" elapsed="0.001325"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:05.408006" elapsed="0.000401"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:05.407379" elapsed="0.001104"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:05.407312" elapsed="0.001246"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:05.424504" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:05.424851" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:05.425001" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:05.417545" elapsed="0.007492"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:05.425585" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:05.425147" elapsed="0.000522"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:05.428783" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:05.425871" elapsed="0.002984"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:05.425702" elapsed="0.003200"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:05.425121" elapsed="0.003810"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:05.429100" elapsed="0.000232"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:05.433073" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:05.429823" elapsed="0.003356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:05.429655" elapsed="0.003698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:05.429411" elapsed="0.004032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:05.417107" elapsed="0.016515">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:05.404438" elapsed="0.029321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:07.437097" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:07.435978" 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-07-12T00:27:07.438106" elapsed="0.000590"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:07.437424" elapsed="0.001375"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:07.437369" elapsed="0.001493"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:07.457574" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:07.457828" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:07.457929" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:07.450075" elapsed="0.007881"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:07.458363" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:07.458037" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:07.461081" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:07.458590" elapsed="0.002545"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:07.458446" elapsed="0.002724"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:07.458018" elapsed="0.003174"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:07.461316" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:07.465687" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:07.461935" elapsed="0.003973">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:07.461763" elapsed="0.004285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:07.461569" elapsed="0.004605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:07.449457" elapsed="0.016920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:07.434824" elapsed="0.031775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:09.469833" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:09.468851" 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-07-12T00:27:09.470703" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:09.470107" elapsed="0.001163"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:09.470058" elapsed="0.001273"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:09.488088" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:09.488351" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:09.488451" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:09.480955" elapsed="0.007523"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:09.488878" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:09.488579" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:09.491190" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:09.489084" elapsed="0.002157"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:09.488958" elapsed="0.002317"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:09.488559" elapsed="0.002737"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:09.491477" elapsed="0.000191"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:09.494881" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:09.492016" elapsed="0.002972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:09.491893" elapsed="0.003199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:09.491751" elapsed="0.003427">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:09.480360" elapsed="0.014958">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:09.467825" elapsed="0.027624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:11.498520" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:11.497420" 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="PASS" start="2026-07-12T00:27:11.499569" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:11.498921" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:11.498790" elapsed="0.001331"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:11.519732" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:11.520038" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:11.520198" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:11.513037" elapsed="0.007200"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:11.520815" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:11.520353" elapsed="0.000546"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:11.524319" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:11.521188" elapsed="0.003208"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:11.521001" elapsed="0.003448"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:11.520326" elapsed="0.004155"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:11.524683" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:11.528713" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:11.525387" elapsed="0.003435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:11.525212" elapsed="0.003718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:11.525015" elapsed="0.004005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:11.512596" elapsed="0.016572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:11.496383" elapsed="0.032926">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:13.532870" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:13.531890" elapsed="0.001052"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:13.533750" elapsed="0.000524"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:13.533154" elapsed="0.001211"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:13.533102" elapsed="0.001322"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:13.552290" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:13.552597" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:13.552788" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:13.543936" elapsed="0.008879"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:13.553207" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:13.552897" elapsed="0.000368"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:13.555886" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:13.553418" elapsed="0.002540"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:13.553289" elapsed="0.002718"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:13.552877" elapsed="0.003161"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:13.556210" elapsed="0.000242"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:13.560388" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:13.556933" elapsed="0.003569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:13.556758" elapsed="0.003882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:13.556558" elapsed="0.004171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:13.543335" elapsed="0.017540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:13.530817" elapsed="0.030189">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:15.564006" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:15.563034" 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="PASS" start="2026-07-12T00:27:15.564888" elapsed="0.000524"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:15.564283" elapsed="0.001221"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:15.564233" elapsed="0.001364"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:15.582928" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:15.583271" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:15.583373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:15.575104" elapsed="0.008295"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:15.583804" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:15.583478" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:15.586241" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:15.584010" elapsed="0.002302"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:15.583885" elapsed="0.002476"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:15.583459" elapsed="0.002931"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:15.586582" elapsed="0.000243"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:15.590388" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:15.587275" elapsed="0.003223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:15.587106" elapsed="0.003521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:15.586911" elapsed="0.003805">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:15.574505" elapsed="0.016355">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:15.562007" elapsed="0.028985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:17.594739" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:17.593519" elapsed="0.001322"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:17.595830" elapsed="0.000782"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:17.595080" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:17.595027" elapsed="0.001758"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:17.617019" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:17.617485" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:17.617755" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:17.608599" elapsed="0.009213"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:17.618661" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:17.617987" elapsed="0.000798"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:17.622918" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:17.619107" elapsed="0.003887"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:17.618837" elapsed="0.004209"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:17.617946" elapsed="0.005132"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:17.623272" elapsed="0.000272"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:17.627326" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:17.624002" elapsed="0.003435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:17.623828" elapsed="0.003746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:17.623630" elapsed="0.004038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:17.607952" elapsed="0.019866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:17.592406" elapsed="0.035551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:19.630908" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:19.629976" elapsed="0.001002"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:19.631828" elapsed="0.000408"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:19.631227" elapsed="0.001067"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:19.631176" elapsed="0.001153"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:19.648868" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:19.649105" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:19.649205" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:19.641484" elapsed="0.007748"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:19.649645" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:19.649311" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:19.651999" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:19.649853" elapsed="0.002197"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:19.649728" elapsed="0.002357"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:19.649293" elapsed="0.002813"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:19.652276" elapsed="0.000233"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:19.656328" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:19.652969" elapsed="0.003466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:19.652804" elapsed="0.003758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:19.652614" elapsed="0.004039">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:19.640900" elapsed="0.015896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:19.628994" elapsed="0.028007">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:21.659123" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:21.658488" elapsed="0.000687"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:21.659765" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:21.659359" elapsed="0.000780"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:21.659322" elapsed="0.000856"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:21.675649" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:21.675901" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:21.676002" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:21.669034" elapsed="0.006994"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:21.676493" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:21.676107" elapsed="0.000488"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:21.679776" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:21.676806" elapsed="0.003043"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:21.676630" elapsed="0.003269"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:21.676089" elapsed="0.003840"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:21.680102" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:21.683910" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:21.680790" elapsed="0.003225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:21.680623" elapsed="0.003495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:21.680416" elapsed="0.003785">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:21.668590" elapsed="0.016096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:21.657782" elapsed="0.027170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:23.687682" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:23.686992" elapsed="0.000751"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:23.688312" elapsed="0.000319"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:23.687913" elapsed="0.000771"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:23.687867" elapsed="0.000862"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:23.706852" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:23.707268" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:23.707411" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:23.698175" elapsed="0.009266"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:23.707926" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:23.707554" elapsed="0.000441"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:23.710888" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:23.708183" elapsed="0.002767"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:23.708024" elapsed="0.002967"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:23.707515" elapsed="0.003502"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:23.711204" elapsed="0.000221"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:23.714767" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:23.711868" elapsed="0.003013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:23.711710" elapsed="0.003271">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:23.711507" elapsed="0.003654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:23.697672" elapsed="0.017628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:23.686081" elapsed="0.029334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:25.719179" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:25.718074" elapsed="0.001190"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:25.720173" elapsed="0.000565"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:25.719513" elapsed="0.001320"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:25.719450" elapsed="0.001451"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:25.747434" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:25.747759" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:25.747901" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:25.738922" elapsed="0.009008"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:25.748631" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:25.748091" elapsed="0.000603"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:25.751190" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:25.748874" elapsed="0.002371"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:25.748731" elapsed="0.002549"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:25.748048" elapsed="0.003255"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:25.751440" elapsed="0.000206"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:25.755223" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:25.752057" elapsed="0.003285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:25.751892" elapsed="0.003686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:25.751724" elapsed="0.003953">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:25.737257" elapsed="0.018575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:25.716800" elapsed="0.039167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:27.758875" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:27.757947" 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-07-12T00:27:27.759762" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:27.759137" elapsed="0.001178"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:27.759089" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:27.779379" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:27.779668" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:27.779769" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:27.771056" elapsed="0.008738"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:27.780164" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:27.779872" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:27.782474" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:27.780369" elapsed="0.002169"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:27.780244" elapsed="0.002331"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:27.779854" elapsed="0.002743"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:27.782721" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:27.785876" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:27.783211" elapsed="0.002832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:27.783091" elapsed="0.003056">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:27.782951" elapsed="0.003283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:27.770461" elapsed="0.015915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:27.756968" elapsed="0.029539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:29.789291" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:29.788367" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:29.790132" elapsed="0.000514"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:29.789574" elapsed="0.001163"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:29.789497" elapsed="0.001298"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:29.808808" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:29.809122" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:29.809275" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:29.802429" elapsed="0.006883"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:29.809859" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:29.809422" elapsed="0.000516"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:29.813126" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:29.810146" elapsed="0.003053"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:29.809971" elapsed="0.003277"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:29.809396" 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-07-12T00:27:29.813508" elapsed="0.000262"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:29.817384" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:29.814204" elapsed="0.003284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:29.814038" elapsed="0.003574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:29.813851" elapsed="0.003848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:29.802009" elapsed="0.015832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:29.787411" elapsed="0.030563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:31.820866" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:31.819911" 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-07-12T00:27:31.821811" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:31.821165" elapsed="0.001191"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:31.821116" elapsed="0.001295"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:31.843490" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:31.843830" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:31.843976" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:31.835831" elapsed="0.008183"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:31.844615" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:31.844129" elapsed="0.000570"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:31.848198" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:31.844993" elapsed="0.003281"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:31.844808" elapsed="0.003518"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:31.844103" elapsed="0.004255"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:31.848560" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:31.852921" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:31.849269" elapsed="0.003757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:31.849094" elapsed="0.004034">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:31.848896" elapsed="0.004318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:31.835402" elapsed="0.017954">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:31.818958" elapsed="0.034528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:33.856381" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:33.855453" 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-07-12T00:27:33.858916" elapsed="0.000472"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:33.858303" elapsed="0.001177"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:33.856624" elapsed="0.002945"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:33.876733" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:33.876980" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:33.877145" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:33.869634" elapsed="0.007537"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:33.877562" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:33.877251" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:33.879868" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:33.877775" elapsed="0.002145"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:33.877645" elapsed="0.002310"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:33.877232" elapsed="0.002744"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:33.880100" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:33.883295" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:33.880602" elapsed="0.002798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:33.880466" elapsed="0.003036">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:33.880330" elapsed="0.003282">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:33.869026" elapsed="0.014727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:33.854469" elapsed="0.029415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:35.886758" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:35.885819" 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-07-12T00:27:35.887613" elapsed="0.000487"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:35.887021" elapsed="0.001173"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:35.886973" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:35.907509" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:35.908013" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:35.908125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:35.899425" elapsed="0.008726"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:35.908545" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:35.908232" elapsed="0.000372"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:35.910849" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:35.908755" elapsed="0.002145"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:35.908628" elapsed="0.002306"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:35.908213" 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-07-12T00:27:35.911079" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:35.914261" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:35.911579" elapsed="0.002789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:35.911442" elapsed="0.003029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:35.911307" elapsed="0.003272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:35.898840" elapsed="0.015882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:35.884830" elapsed="0.030023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:37.917744" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:37.916804" 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-07-12T00:27:37.918584" elapsed="0.000585"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:37.917999" elapsed="0.001261"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:37.917953" elapsed="0.001365"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:37.937833" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:37.938079" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:37.938179" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:37.930434" elapsed="0.007771"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:37.938594" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:37.938283" elapsed="0.000368"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:37.940947" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:37.938815" elapsed="0.002184"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:37.938675" elapsed="0.002359"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:37.938264" elapsed="0.002791"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:37.941178" elapsed="0.000167"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:37.944303" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:37.941674" elapsed="0.002734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:37.941553" elapsed="0.002959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:37.941404" elapsed="0.003219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:37.929847" elapsed="0.014920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:37.915817" elapsed="0.029083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:39.947793" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:39.946866" 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-07-12T00:27:39.948636" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:39.948049" elapsed="0.001217"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:39.948004" elapsed="0.001328"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:39.968812" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:39.969161" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:39.969260" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:39.960582" elapsed="0.008705"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:39.969669" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:39.969365" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:39.971984" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:39.969874" elapsed="0.002162"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:39.969751" elapsed="0.002320"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:39.969347" elapsed="0.002746"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:39.972214" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:39.974946" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:39.972714" elapsed="0.002355">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:39.972594" elapsed="0.002588">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:39.972443" elapsed="0.002825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:39.959992" elapsed="0.015418">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:39.945886" elapsed="0.029748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:41.977610" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:41.977040" elapsed="0.000617"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:41.978117" elapsed="0.000267"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:41.977777" elapsed="0.000659"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:41.977746" elapsed="0.000723"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:41.995228" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:41.995554" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:41.995693" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:41.987668" elapsed="0.008057"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:41.996194" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:41.995824" elapsed="0.000440"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:41.998726" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:41.996457" elapsed="0.002320"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:41.996296" elapsed="0.002516"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:41.995801" elapsed="0.003032"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:41.998957" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:42.001698" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:41.999441" elapsed="0.002336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:41.999322" elapsed="0.002530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:41.999189" elapsed="0.002725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:41.987124" elapsed="0.014952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:41.976354" elapsed="0.025819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:44.005026" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:44.004090" 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-07-12T00:27:44.005880" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:44.005287" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:44.005240" elapsed="0.001242"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:44.023804" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:44.024063" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:44.024181" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:44.016750" elapsed="0.007476"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:44.024786" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:44.024359" elapsed="0.000507"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:44.028016" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:44.025074" elapsed="0.003029"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:44.024902" elapsed="0.003251"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:44.024329" elapsed="0.003858"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:44.028359" elapsed="0.000256"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:44.032413" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:44.029044" elapsed="0.003473">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:44.028880" elapsed="0.003761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:44.028695" elapsed="0.004102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:44.016316" elapsed="0.016627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:44.003096" elapsed="0.029985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:46.035878" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:46.034914" elapsed="0.001036"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:46.036730" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:46.036139" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:46.036091" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:46.054367" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:46.054699" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:46.054836" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:46.047765" 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-07-12T00:27:46.055610" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:46.054984" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:46.059631" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:46.055899" elapsed="0.003818"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:46.055725" elapsed="0.004057"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:46.054957" elapsed="0.004867"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:46.060029" elapsed="0.000273"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:46.064077" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:46.060838" elapsed="0.003358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:46.060620" elapsed="0.003767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:46.060406" elapsed="0.004046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:46.047325" elapsed="0.017250">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:46.033980" elapsed="0.030695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:48.066440" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:48.065970" elapsed="0.000506"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:48.066857" elapsed="0.000214"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:48.066590" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:48.066565" elapsed="0.000573"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:48.082488" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:48.082758" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:48.082870" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:48.075427" elapsed="0.007469"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:48.083280" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:48.082978" elapsed="0.000359"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:48.085607" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:48.083485" elapsed="0.002174"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:48.083362" elapsed="0.002332"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:48.082959" elapsed="0.002755"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:48.085836" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:48.088560" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:48.086334" elapsed="0.002363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:48.086198" elapsed="0.002576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:48.086064" elapsed="0.002772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:48.074997" elapsed="0.013942">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:48.065421" elapsed="0.023613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:50.092170" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:50.091168" elapsed="0.001078"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:50.093066" elapsed="0.000503"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:50.092466" elapsed="0.001193"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:50.092410" elapsed="0.001309"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:50.110088" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:50.110419" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:50.110592" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:50.103291" elapsed="0.007340"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:50.111221" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:50.110749" elapsed="0.000555"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:50.114582" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:50.111518" elapsed="0.003138"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:50.111339" elapsed="0.003366"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:50.110721" elapsed="0.004013"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:50.115009" elapsed="0.000241"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:50.119038" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:50.115732" elapsed="0.003390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:50.115555" elapsed="0.003644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:50.115335" elapsed="0.003928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:50.102865" elapsed="0.016501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:50.090107" elapsed="0.029354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:52.122865" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:52.121884" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:52.123730" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:52.123127" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:52.123080" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:52.144188" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:52.144560" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:52.144682" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:52.137338" elapsed="0.007370"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:52.145142" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:52.144805" elapsed="0.000396"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:52.148577" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:52.145444" elapsed="0.003210"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:52.145292" elapsed="0.003411"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:52.144781" elapsed="0.003952"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:52.148910" elapsed="0.000240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:52.152810" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:52.149646" elapsed="0.003270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:52.149450" elapsed="0.003570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:52.149234" elapsed="0.003872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:52.136678" elapsed="0.016570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:52.120725" elapsed="0.032659">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:54.156191" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:54.155210" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:54.157041" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:54.156450" elapsed="0.001171"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:54.156405" elapsed="0.001273"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:54.177110" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:54.177351" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:54.177553" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:54.170728" elapsed="0.006872"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:54.178136" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:54.177714" elapsed="0.000503"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:54.181510" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:54.178425" elapsed="0.003182"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:54.178252" elapsed="0.003405"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:54.177688" 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-07-12T00:27:54.181860" elapsed="0.000238"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:54.185717" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:54.182557" elapsed="0.003267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:54.182365" elapsed="0.003562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:54.182178" elapsed="0.003834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:54.170280" elapsed="0.015872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:54.154266" elapsed="0.032018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:56.189119" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:56.188190" elapsed="0.001001"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:56.189968" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:56.189378" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:56.189333" elapsed="0.001317"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:56.208324" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:56.208657" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:56.208760" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:56.200274" elapsed="0.008513"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:56.209174" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:56.208869" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:56.211546" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:56.209381" elapsed="0.002244"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:56.209256" elapsed="0.002419"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:56.208849" elapsed="0.002855"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:56.211876" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:56.215968" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:56.212572" elapsed="0.003502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:56.212378" elapsed="0.003800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:56.212191" elapsed="0.004075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:56.199695" elapsed="0.016711">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:56.187235" elapsed="0.029323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:27:58.219932" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:27:58.218898" elapsed="0.001120"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:27:58.220879" elapsed="0.000609"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:58.220215" elapsed="0.001402"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:58.220167" elapsed="0.001564"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:27:58.239716" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:27:58.239988" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:27:58.240100" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:27:58.232765" elapsed="0.007362"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:27:58.240596" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:27:58.240228" elapsed="0.000429"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:27:58.243127" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:27:58.240813" elapsed="0.002376"/>
</kw>
<status status="PASS" start="2026-07-12T00:27:58.240683" elapsed="0.002543"/>
</branch>
<status status="PASS" start="2026-07-12T00:27:58.240204" elapsed="0.003043"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:27:58.243374" elapsed="0.000196"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:27:58.246373" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:27:58.243933" elapsed="0.002532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:27:58.243798" elapsed="0.002766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:27:58.243635" elapsed="0.002995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:27:58.232013" elapsed="0.014754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:27:58.217496" elapsed="0.029406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:00.249989" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:00.249006" 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-07-12T00:28:00.250891" elapsed="0.000487"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:00.250265" elapsed="0.001209"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:00.250216" elapsed="0.001347"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:00.270357" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:00.270860" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:00.271101" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:00.262096" elapsed="0.009065"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:00.272018" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:00.271337" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:00.276075" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:00.272473" elapsed="0.003679"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:00.272199" elapsed="0.004006"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:00.271297" elapsed="0.004940"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:00.276420" elapsed="0.000272"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:00.280460" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:00.277161" elapsed="0.003429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:00.276987" elapsed="0.003714">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:00.276789" elapsed="0.004018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:00.261433" elapsed="0.019523">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:00.247994" elapsed="0.033174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:02.284797" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:02.283398" elapsed="0.001501"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:02.286003" elapsed="0.000575"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:02.285164" elapsed="0.001517"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:02.285098" elapsed="0.001646"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:02.303848" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:02.304099" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:02.304200" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:02.296811" elapsed="0.007415"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:02.304649" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:02.304323" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:02.307057" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:02.304865" elapsed="0.002245"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:02.304735" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:02.304296" 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-07-12T00:28:02.307292" elapsed="0.000173"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:02.311012" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:02.307851" elapsed="0.003277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:02.307700" elapsed="0.003536">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:02.307540" elapsed="0.003808">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:02.296179" elapsed="0.015416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:02.282209" elapsed="0.029529">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:04.314687" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:04.313714" elapsed="0.001048"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:04.315643" elapsed="0.000479"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:04.315021" elapsed="0.001194"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:04.314911" elapsed="0.001361"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:04.336342" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:04.336609" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:04.336710" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:04.329481" elapsed="0.007256"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:04.337231" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:04.336815" elapsed="0.000497"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:04.340589" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:04.337521" elapsed="0.003143"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:04.337346" elapsed="0.003368"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:04.336797" elapsed="0.003948"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:04.340922" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:04.344842" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:04.341635" elapsed="0.003312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:04.341443" elapsed="0.003607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:04.341255" elapsed="0.003960">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:04.329056" elapsed="0.016319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:04.312733" elapsed="0.032780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:06.348365" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:06.347414" 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-07-12T00:28:06.349223" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:06.348662" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:06.348615" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:06.368997" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:06.369241" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:06.369364" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:06.361243" elapsed="0.008148"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:06.369848" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:06.369484" elapsed="0.000422"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:06.372239" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:06.370079" elapsed="0.002212"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:06.369932" elapsed="0.002395"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:06.369462" 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-07-12T00:28:06.372473" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:06.375342" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:06.372982" elapsed="0.002467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:06.372856" elapsed="0.002792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:06.372720" elapsed="0.003037">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:06.360656" elapsed="0.015249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:06.346476" elapsed="0.029571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:08.378055" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:08.377486" elapsed="0.000613"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:08.378581" elapsed="0.000271"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:08.378223" elapsed="0.000680"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:08.378190" elapsed="0.000749"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:08.395355" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:08.395692" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:08.395815" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:08.387882" elapsed="0.007963"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:08.396299" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:08.395940" elapsed="0.000429"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:08.398873" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:08.396577" elapsed="0.002350"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:08.396400" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:08.395918" elapsed="0.003064"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:08.399107" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:08.403008" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:08.399616" elapsed="0.003542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:08.399480" elapsed="0.003754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:08.399339" elapsed="0.003959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:08.387340" elapsed="0.016061">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:08.376837" elapsed="0.026658">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:10.406500" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:10.405574" elapsed="0.001028"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:10.407381" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:10.406804" elapsed="0.001173"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:10.406755" elapsed="0.001283"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:10.427706" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:10.427977" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:10.428079" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:10.419300" elapsed="0.008805"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:10.428503" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:10.428199" elapsed="0.000385"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:10.430855" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:10.428738" elapsed="0.002168"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:10.428608" elapsed="0.002331"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:10.428165" elapsed="0.002796"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:10.431160" elapsed="0.000181"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:10.434337" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:10.431697" elapsed="0.002749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:10.431571" elapsed="0.003002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:10.431406" elapsed="0.003258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:10.418715" elapsed="0.016092">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:10.404510" elapsed="0.030429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:12.437969" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:12.436955" 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-07-12T00:28:12.438832" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:12.438238" elapsed="0.001194"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:12.438191" elapsed="0.001300"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:12.457778" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:12.458060" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:12.458178" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:12.449482" elapsed="0.008722"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:12.458614" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:12.458289" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:12.461015" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:12.458894" elapsed="0.002173"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:12.458763" elapsed="0.002339"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:12.458270" elapsed="0.002854"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:12.461248" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:12.464030" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:12.461770" elapsed="0.002348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:12.461640" elapsed="0.002554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:12.461482" elapsed="0.002776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:12.448757" elapsed="0.015608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:12.435958" elapsed="0.028502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:14.467315" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:14.466339" elapsed="0.001047"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:14.468165" elapsed="0.000487"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:14.467605" elapsed="0.001137"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:14.467555" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:14.486399" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:14.486760" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:14.486980" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:14.479080" elapsed="0.007937"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:14.487560" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:14.487127" elapsed="0.000515"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:14.490809" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:14.487851" elapsed="0.003031"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:14.487677" elapsed="0.003253"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:14.487102" elapsed="0.003858"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:14.491134" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:14.495209" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:14.491823" elapsed="0.003510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:14.491656" elapsed="0.003796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:14.491449" elapsed="0.004069">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:14.478660" elapsed="0.016979">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:14.465381" elapsed="0.030353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-07-12T00:28:16.499787" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-07-12T00:28:16.498772" elapsed="0.001105"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:16.500939" elapsed="0.000564"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:16.500147" elapsed="0.001492"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:16.500084" elapsed="0.001622"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:16.519639" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01xelh0nanc44yf5z077klk0vd3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:16.519965" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:16.520067" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:16.511740" elapsed="0.008354"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:16.520473" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:16.520174" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:16.523055" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:16.520699" elapsed="0.002427"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:16.520573" elapsed="0.002602"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:16.520155" elapsed="0.003050"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:16.523377" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:16.527286" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-07-12T00:28:16.524077" elapsed="0.003321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-07-12T00:28:16.523910" elapsed="0.003592">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-07-12T00:28:16.523719" elapsed="0.003896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-07-12T00:28:16.511138" elapsed="0.016624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-07-12T00:28:16.497725" elapsed="0.030167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-07-12T00:28:16.528018" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' 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-07-12T00:26:45.074570" elapsed="91.453689">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' 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-07-12T00:28:16.528550" elapsed="0.000034"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:16.529733" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:28:16.857813" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:28:16.858208" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:28:16.858308" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:28:16.858400" 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-07-12T00:28:16.529465" elapsed="0.328989"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:16.859709" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:16.858978" elapsed="0.000830"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:16.860561" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:28:17.182749" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:28:17.183102" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:28:17.183202" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:28:17.183293" 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-07-12T00:28:16.860126" elapsed="0.323220"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.184261" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:28:17.252717" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:28:17.253085" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:28:17.253223" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:28:17.253316" 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-07-12T00:28:17.183818" elapsed="0.069554"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.254112" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:28:17.304303" 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-07-12T00:28:17.253839" elapsed="0.050735"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:17.324794" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01xelh0nanc44yf5z077klk0vd3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:17.324897" level="INFO">DELETE Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:17.325146" 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-07-12T00:28:17.304997" elapsed="0.020225"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:17.333657" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01xelh0nanc44yf5z077klk0vd3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:17.333919" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:28:17.334066" 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-07-12T00:28:17.325697" elapsed="0.008406"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:28:16.529017" elapsed="0.805187"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-07-12T00:26:44.270819" elapsed="93.063463">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQChzuQiVVuLzJ8P5M0BQTmywUHU5vkTy96mcegkQNe4wEzClYqqPj5okTA44DaBYyII3eAKMTGpjYCHbUuo4xSJT0usxxaI2xzc7YIXzBrXk4wfBwSGQP5TOo+btY1vSIOfPyYGPm1LF9ulZmSMrHsiMt5CVthJUNAMOeJ1gDZhV4bG5h1S4LhGsTQkV/KNPIqzTQ30ERsEql6BobEGtmfNPpArw/yydiAGUvC6lV4FKmmHbgDv7fKIbV8JY9oCRyeXIc23uEcvwULyWkXItWLR4Rqw3BreOAhZkcE1PZpJJhAWs8bCdvWJJALnfB91kMQFm2F7Pn0kdKTiK+4+LzaZ"}}]}}}' 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-07-12T00:28:17.337014" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c894a2479d0&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-07-12T00:28:17.336645" elapsed="0.000609"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.337608" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:28:17.351614" 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-07-12T00:28:17.337450" elapsed="0.014278"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.352152" 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-07-12T00:28:17.596264" 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-07-12T00:28:17.351979" elapsed="0.244491"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.597213" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:28:17.662600" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:28:17.662867" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDhYE6LRkUgn6zaMnbxsOKh6Z0EHT4U9hxkU2qpuuE42tOtq49leEOWFuOfLvUKizyCYhIbaLJQraXFv7CNysmcwOA2sL82GlRN/cAo5l4NLqFuad0yUdFeaYmIhcfzKcCZSLKd9C31xY10LJOO8gOklQNnb5h4BqmIrSsI+IiM...</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-07-12T00:28:17.596905" elapsed="0.066023"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:28:17.671648" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDhYE6LRkUgn6zaMnbxsOKh6Z0EHT4U9hxkU2qpuuE42tOtq49leEOWFuOfLvUKizyCYhIbaLJQraXFv7CNysmcwOA2sL82GlRN/cAo5l4NLqFuad0yUdFeaYmIhcfzKcCZSLKd9C31xY10LJOO8gOklQNnb5h4BqmIrSsI+IiM...</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-07-12T00:28:17.663325" elapsed="0.008432"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:28:17.336254" elapsed="0.335650"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.704252" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:28:17.672984" elapsed="0.031410"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.712118" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:28:17.704756" elapsed="0.007445"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-07-12T00:28:17.672293" elapsed="0.039999"/>
</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-07-12T00:28:17.717873" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:17.713245" elapsed="0.004704"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:28:17.718866" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:28:17.719101" 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-07-12T00:28:17.718622" elapsed="0.000516"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:28:17.720010" 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-07-12T00:28:17.719387" elapsed="0.000709"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:17.718179" elapsed="0.002025"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:17.717986" elapsed="0.002253"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:17.713211" elapsed="0.007058"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.720833" 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-07-12T00:28:17.720458" elapsed="0.000414"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.721467" 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-07-12T00:28:17.721155" elapsed="0.000339"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.721939" 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-07-12T00:28:17.721707" elapsed="0.000259"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.722331" 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-07-12T00:28:17.722104" elapsed="0.000253"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:17.740593" level="INFO">POST Request : url=http://10.30.171.144: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:28:17.740723" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01c9x3lyqe416fx2mwcovriz234.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:28:17 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:17.741001" 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-07-12T00:28:17.722490" elapsed="0.018586"/>
</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-07-12T00:28:17.741439" elapsed="0.005554"/>
</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-07-12T00:28:17.712678" elapsed="0.034470"/>
</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-07-12T00:28:17.758550" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:28:17.758731" 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-07-12T00:28:17.758354" elapsed="0.000403"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:28:17.759274" 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-07-12T00:28:17.758920" elapsed="0.000397"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:17.758037" elapsed="0.001348"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:17.754597" elapsed="0.004821"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-07-12T00:28:17.759614" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:17.759447" elapsed="0.000217"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:17.754575" elapsed="0.005109"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.760066" 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-07-12T00:28:17.759817" elapsed="0.000277"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.760475" 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-07-12T00:28:17.760235" elapsed="0.000270"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.760914" 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-07-12T00:28:17.760669" elapsed="0.000276"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:17.761345" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDhYE6LRkUgn6zaMnbxsOKh6Z0EHT4U9hxkU2qpuuE42tOtq49leEOWFuOfLvUK...</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-07-12T00:28:17.761115" elapsed="0.000257"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:17.772415" level="INFO">POST Request : url=http://10.30.171.144: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=node01c9x3lyqe416fx2mwcovriz234.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDhYE6LRkUgn6zaMnbxsOKh6Z0EHT4U9hxkU2qpuuE42tOtq49leEOWFuOfLvUKizyCYhIbaLJQraXFv7CNysmcwOA2sL82GlRN/cAo5l4NLqFuad0yUdFeaYmIhcfzKcCZSLKd9C31xY10LJOO8gOklQNnb5h4BqmIrSsI+IiM1DeMsHbvRnXtCw+ZQ+mR/Bk06y40EsxlyH3vVzkz20eyNu5Rf612FvAkwIJ+dATh8xDa1O2kzWhT5TFdBuse/jVXEiDMVR91xp/TW5JBTbgND0y11k7kmujjyoTIVKDyfOWvJXAONBexuFWbW2jNhIu++qaIn7x7kTjljag1cTmF"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:28:17.772704" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:17.773050" 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-07-12T00:28:17.761504" elapsed="0.011610"/>
</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-07-12T00:28:17.773461" elapsed="0.004944"/>
</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-07-12T00:28:17.747757" elapsed="0.030906"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:17.779412" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-07-12T00:28:18.107242" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:28:18.107934" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:28:18.108063" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:28:18.108170" 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-07-12T00:28:17.778986" elapsed="0.329242"/>
</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-07-12T00:28:18.112601" 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-07-12T00:28:18.111691" elapsed="0.000976"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-07-12T00:28:18.113481" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:18.112878" elapsed="0.000773"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:18.112826" elapsed="0.000887"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:18.132134" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01c9x3lyqe416fx2mwcovriz234.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:18.132597" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDhYE6LRkUgn6zaMnbxsOKh6Z0EHT4U9hxkU2qpuuE42tOtq49leEOWFuOfLvUKizyCYhIbaLJQraXFv7CNysmcwOA2sL82GlRN/cAo5l4NLqFuad0yUdFeaYmIhcfzKcCZSLKd9C31xY10LJOO8gOklQNnb5h4BqmIrSsI+IiM1DeMsHbvRnXtCw+ZQ+mR/Bk06y40EsxlyH3vVzkz20eyNu5Rf612FvAkwIJ+dATh8xDa1O2kzWhT5TFdBuse/jVXEiDMVR91xp/TW5JBTbgND0y11k7kmujjyoTIVKDyfOWvJXAONBexuFWbW2jNhIu++qaIn7x7kTjljag1cTmF"}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:18.132789" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:18.124832" elapsed="0.007997"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:18.133370" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:18.132945" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:18.139092" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDhYE6LRkUgn6zaMnbxsOKh6Z0EHT4U9hxkU2qpuuE42tOtq49leEOWFuOfLvUKizyCYhIbaLJQraXFv7CNysmcwOA2sL82GlRN/cAo5l4NLqFuad0yUdFeaYmIhcfzKcCZSLKd9C31xY10LJOO8gOklQNnb5h4BqmIrSsI+IiM1DeMsHbvRnXtCw+ZQ+mR/Bk06y40EsxlyH3vVzkz20eyNu5Rf612FvAkwIJ+dATh8xDa1O2kzWhT5TFdBuse/jVXEiDMVR91xp/TW5JBTbgND0y11k7kmujjyoTIVKDyfOWvJXAONBexuFWbW2jNhIu++qaIn7x7kTjljag1cTmF"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:18.133693" elapsed="0.005550"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:18.133489" elapsed="0.005808"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:18.132918" elapsed="0.006412"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:18.139513" 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-07-12T00:28:18.140249" elapsed="0.003401"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-07-12T00:28:18.140071" elapsed="0.003640"/>
</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-07-12T00:28:18.144009" elapsed="0.003324"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-07-12T00:28:18.143835" elapsed="0.003611"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-07-12T00:28:18.139872" elapsed="0.007630"/>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET 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-07-12T00:28:18.124389" elapsed="0.023221"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-07-12T00:28:18.110779" elapsed="0.036914"/>
</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-07-12T00:28:18.108934" elapsed="0.038846"/>
</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-07-12T00:28:18.179406" level="INFO">GET Request : url=http://10.30.171.144: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=node01c9x3lyqe416fx2mwcovriz234.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:18.179763" level="INFO">GET Response : url=http://10.30.171.144: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-07-12T00:28:18.179893" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:18.157010" elapsed="0.022911"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:18.180396" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:18.180029" elapsed="0.000427"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:18.182880" 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-07-12T00:28:18.180635" elapsed="0.002299"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:18.180483" elapsed="0.002486"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:18.180001" elapsed="0.002989"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:18.183115" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:18.185920" 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-07-12T00:28:18.183620" elapsed="0.002383">'{"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-07-12T00:28:18.183477" elapsed="0.002667">'{"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-07-12T00:28:18.183342" elapsed="0.002869">'{"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-07-12T00:28:18.156579" elapsed="0.029741">'{"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-07-12T00:28:18.148757" elapsed="0.037748"/>
</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-07-12T00:28:18.148014" elapsed="0.038608"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:18.187415" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:28:18.503803" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:28:18.504152" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:28:18.504253" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:28:18.504345" 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-07-12T00:28:18.187233" elapsed="0.317170"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:18.505555" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:18.504881" elapsed="0.000773"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:18.506330" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:28:18.845034" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:28:18.845383" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:28:18.845484" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:28:18.845616" 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-07-12T00:28:18.505961" elapsed="0.339711"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:18.846511" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:28:18.912987" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:28:18.913330" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:28:18.913432" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:28:18.913524" 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-07-12T00:28:18.846088" elapsed="0.067527"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:18.914275" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:28:18.960275" 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-07-12T00:28:18.914020" elapsed="0.046489"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:18.972819" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01c9x3lyqe416fx2mwcovriz234.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:18.972987" level="INFO">DELETE Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:18.973137" 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-07-12T00:28:18.960955" elapsed="0.012220"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:18.980324" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01c9x3lyqe416fx2mwcovriz234.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:18.980830" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:28:18.981092" 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-07-12T00:28:18.973384" elapsed="0.007770"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:28:18.186910" elapsed="0.794416"/>
</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-07-12T00:28:17.335004" elapsed="1.646423"/>
</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-07-12T00:28:18.983888" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c894912dbd0&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-07-12T00:28:18.983416" elapsed="0.000690"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:18.984483" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:28:19.012970" 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-07-12T00:28:18.984309" elapsed="0.028876"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:19.013958" 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-07-12T00:28:19.256755" 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-07-12T00:28:19.013672" elapsed="0.243367"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:19.257940" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:28:19.307936" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:28:19.308229" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC9PAc65FuBJgOuu3dxaHSz1EVhDGKfZj9RBLq1Y2UVIiK0IcxEDO2T4nSFFlDGP3IHfu/NKBzO8KitjHa4g6HCODMmSyNpdVhNRmlX7DGjLjeycvB7GWRRgOfWLp05bU/gN7lnBxQ0JQWtP4sVXiyMXhLz512bAKyFGBCh+1hP...</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-07-12T00:28:19.257576" elapsed="0.050722"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:28:19.315924" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC9PAc65FuBJgOuu3dxaHSz1EVhDGKfZj9RBLq1Y2UVIiK0IcxEDO2T4nSFFlDGP3IHfu/NKBzO8KitjHa4g6HCODMmSyNpdVhNRmlX7DGjLjeycvB7GWRRgOfWLp05bU/gN7lnBxQ0JQWtP4sVXiyMXhLz512bAKyFGBCh+1hP...</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-07-12T00:28:19.309318" elapsed="0.006674"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:28:18.983020" elapsed="0.333072"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:28:19.354413" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:28:19.316814" elapsed="0.037683"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:28:19.360081" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:28:19.354717" elapsed="0.005470"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-07-12T00:28:19.316387" elapsed="0.043896"/>
</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-07-12T00:28:19.365823" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:19.361195" elapsed="0.004717"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:28:19.366806" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:28:19.367098" 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-07-12T00:28:19.366569" elapsed="0.000569"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:28:19.367860" 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-07-12T00:28:19.367356" elapsed="0.000570"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:19.366148" elapsed="0.001859"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:19.365951" elapsed="0.002090"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:19.361163" elapsed="0.006908"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:19.368647" 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-07-12T00:28:19.368279" elapsed="0.000407"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:19.369201" 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-07-12T00:28:19.368883" elapsed="0.000355"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:19.369768" 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-07-12T00:28:19.369432" elapsed="0.000375"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:28:19.370311" 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-07-12T00:28:19.370000" elapsed="0.000348"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:19.385214" level="INFO">POST Request : url=http://10.30.171.144: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5"
        }
    }
}
 
 </msg>
<msg time="2026-07-12T00:28:19.385377" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:28:19 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:19.385669" 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-07-12T00:28:19.370548" elapsed="0.015182"/>
</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-07-12T00:28:19.386107" elapsed="0.004997"/>
</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-07-12T00:28:19.360695" elapsed="0.030559"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:28:19.392054" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-07-12T00:28:19.657729" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:28:19.658130" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:28:19.658230" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:28:19.658320" 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-07-12T00:28:19.391658" elapsed="0.266714"/>
</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-07-12T00:28:19.662280" 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-07-12T00:28:19.661388" elapsed="0.000955"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:19.663181" elapsed="0.000537"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:19.662581" elapsed="0.001233"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:19.662479" elapsed="0.001397"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:19.680116" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:19.680371" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:19.680499" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:19.673515" elapsed="0.007059"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:19.681121" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:19.680696" elapsed="0.000508"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:19.684435" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:19.681412" elapsed="0.003096"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:19.681239" elapsed="0.003340"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:19.680670" elapsed="0.003942"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:19.684826" elapsed="0.000262"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:19.688798" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:19.685558" elapsed="0.003326">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:19.685370" elapsed="0.003595">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:19.685176" elapsed="0.003854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:19.673092" elapsed="0.016058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:19.660564" elapsed="0.028687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:21.691517" 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-07-12T00:28:21.690885" elapsed="0.000700"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:21.692078" elapsed="0.000296"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:21.691715" elapsed="0.000717"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:21.691683" elapsed="0.000785"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:21.708387" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:21.708649" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:21.708751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:21.701465" elapsed="0.007313"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:21.709154" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:21.708858" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:21.711541" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:21.709367" elapsed="0.002232"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:21.709236" elapsed="0.002401"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:21.708840" elapsed="0.002818"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:21.711781" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:21.714721" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:21.712270" elapsed="0.002532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:21.712151" elapsed="0.002727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:21.712012" elapsed="0.002929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:21.701042" elapsed="0.014001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:21.690115" elapsed="0.025098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:23.718089" 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-07-12T00:28:23.717161" 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-07-12T00:28:23.718997" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:23.718399" elapsed="0.001192"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:23.718351" elapsed="0.001299"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:23.738823" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:23.739143" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:23.739280" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:23.732402" elapsed="0.006915"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:23.739860" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:23.739427" elapsed="0.000514"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:23.743137" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:23.740151" elapsed="0.003058"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:23.739975" elapsed="0.003283"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:23.739401" elapsed="0.003887"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:23.743460" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:23.747370" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:23.744225" elapsed="0.003249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:23.744058" elapsed="0.003540">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:23.743861" elapsed="0.003823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:23.731983" elapsed="0.015896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:23.716199" elapsed="0.031820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:25.751055" 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-07-12T00:28:25.750129" 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-07-12T00:28:25.751949" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:25.751318" elapsed="0.001201"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:25.751272" elapsed="0.001336"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:25.770188" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:25.770451" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:25.770593" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:25.762999" elapsed="0.007627"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:25.771003" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:25.770709" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:25.773358" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:25.771211" elapsed="0.002201"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:25.771086" elapsed="0.002361"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:25.770690" elapsed="0.002779"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:25.773606" elapsed="0.000217"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:25.777411" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:25.774255" elapsed="0.003263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:25.774089" elapsed="0.003556">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:25.773904" elapsed="0.003927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:25.762389" elapsed="0.015600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:25.749107" elapsed="0.029016">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:27.781085" 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-07-12T00:28:27.780072" elapsed="0.001085"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:27.781938" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:27.781347" elapsed="0.001142"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:27.781301" elapsed="0.001280"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:27.801209" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:27.801460" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:27.801586" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:27.794825" elapsed="0.006790"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:27.801986" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:27.801696" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:27.804311" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:27.802191" elapsed="0.002172"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:27.802066" elapsed="0.002363"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:27.801677" elapsed="0.002777"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:27.804614" elapsed="0.000199"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:27.808643" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:27.805247" elapsed="0.003504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:27.805082" elapsed="0.003849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:27.804895" elapsed="0.004126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:27.794385" elapsed="0.014779">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:27.779130" elapsed="0.030168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:29.812431" 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-07-12T00:28:29.811411" 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="PASS" start="2026-07-12T00:28:29.813364" elapsed="0.000551"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:29.812779" elapsed="0.001234"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:29.812728" elapsed="0.001346"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:29.831920" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:29.832179" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:29.832286" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:29.824329" 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-07-12T00:28:29.832741" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:29.832399" elapsed="0.000401"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:29.835168" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:29.832975" elapsed="0.002247"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:29.832825" elapsed="0.002433"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:29.832379" elapsed="0.002901"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:29.835422" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:29.839343" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:29.836082" elapsed="0.003494">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:29.835915" elapsed="0.003777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:29.835745" elapsed="0.004054">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:29.823712" elapsed="0.016244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:29.810333" elapsed="0.029781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:31.843164" 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-07-12T00:28:31.842155" 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="PASS" start="2026-07-12T00:28:31.844076" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:31.843442" elapsed="0.001252"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:31.843394" elapsed="0.001361"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:31.863295" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:31.863568" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:31.863689" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:31.855222" 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-07-12T00:28:31.864127" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:31.863795" elapsed="0.000395"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:31.866446" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:31.864338" elapsed="0.002240"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:31.864214" elapsed="0.002435"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:31.863777" elapsed="0.002895"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:31.866799" elapsed="0.000216"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:31.870624" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:31.867486" elapsed="0.003245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:31.867283" elapsed="0.003551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:31.867096" elapsed="0.003825">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:31.854619" elapsed="0.016447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:31.841147" elapsed="0.030053">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:33.874304" 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-07-12T00:28:33.873153" 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-07-12T00:28:33.875232" elapsed="0.000529"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:33.874626" elapsed="0.001234"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:33.874574" elapsed="0.001347"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:33.897258" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:33.897546" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:33.897758" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:33.890858" elapsed="0.006929"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:33.898315" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:33.897883" elapsed="0.000517"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:33.901839" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:33.898646" elapsed="0.003271"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:33.898438" elapsed="0.003531"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:33.897860" elapsed="0.004142"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:33.902186" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:33.906610" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:33.902939" elapsed="0.003786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:33.902753" elapsed="0.004084">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:33.902548" elapsed="0.004381">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:33.890351" elapsed="0.016732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:33.872158" elapsed="0.035066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:35.910058" 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-07-12T00:28:35.909121" 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-07-12T00:28:35.910924" elapsed="0.000467"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:35.910324" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:35.910278" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:35.928398" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:35.928756" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:35.928879" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:35.921300" elapsed="0.007607"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:35.929321" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:35.928999" elapsed="0.000380"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:35.931686" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:35.929545" elapsed="0.002194"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:35.929404" elapsed="0.002370"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:35.928976" elapsed="0.002820"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:35.931919" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:35.935292" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:35.932413" elapsed="0.002984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:35.932287" elapsed="0.003212">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:35.932151" elapsed="0.003458">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:35.920700" elapsed="0.015055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:35.908153" elapsed="0.027736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:37.939676" 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-07-12T00:28:37.938563" elapsed="0.001205"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:37.940568" elapsed="0.000345"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:37.940101" elapsed="0.000875"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:37.940034" elapsed="0.000989"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:37.958815" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:37.959185" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:37.959308" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:37.950954" elapsed="0.008380"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:37.959748" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:37.959415" elapsed="0.000393"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:37.962963" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:37.959997" elapsed="0.003045"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:37.959832" elapsed="0.003260"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:37.959396" elapsed="0.003726"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:37.963294" elapsed="0.000301"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:37.967306" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:37.964155" elapsed="0.003279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:37.963955" elapsed="0.003610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:37.963702" elapsed="0.003964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:37.950343" elapsed="0.017476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:37.937270" elapsed="0.030828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:39.974042" 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-07-12T00:28:39.970499" elapsed="0.003635"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:39.975005" elapsed="0.000343"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:39.974375" elapsed="0.001074"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:39.974307" elapsed="0.001213"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:39.996185" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:39.996728" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:39.996972" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:39.988553" elapsed="0.008476"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:39.998102" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:39.997253" elapsed="0.000982"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:40.004052" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:39.998666" elapsed="0.005519"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:39.998297" elapsed="0.005957"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:39.997196" elapsed="0.007080"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:40.004410" elapsed="0.000213"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:40.007658" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:40.005031" elapsed="0.002719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:40.004869" elapsed="0.002964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:40.004701" elapsed="0.003199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:39.987713" elapsed="0.020371">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:39.969323" elapsed="0.038864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:42.011277" 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-07-12T00:28:42.010295" 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-07-12T00:28:42.012145" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:42.011576" elapsed="0.001170"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:42.011497" elapsed="0.001307"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:42.029765" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:42.030020" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:42.030144" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:42.022672" elapsed="0.007506"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:42.030740" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:42.030271" elapsed="0.000548"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:42.034004" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:42.031026" elapsed="0.003074"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:42.030854" elapsed="0.003305"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:42.030252" 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-07-12T00:28:42.034402" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:42.038347" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:42.035161" elapsed="0.003305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:42.034955" elapsed="0.003617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:42.034746" elapsed="0.003951">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:42.022226" elapsed="0.016580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:42.009215" elapsed="0.029688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:44.041769" 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-07-12T00:28:44.040814" 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-07-12T00:28:44.042612" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:44.042027" elapsed="0.001129"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:44.041980" elapsed="0.001233"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:44.060829" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:44.061086" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:44.061214" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:44.053733" elapsed="0.007508"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:44.061632" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:44.061322" elapsed="0.000367"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:44.063943" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:44.061834" elapsed="0.002162"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:44.061713" elapsed="0.002318"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:44.061303" elapsed="0.002750"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:44.064179" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:44.066983" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:44.064707" elapsed="0.002358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:44.064576" elapsed="0.002623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:44.064415" elapsed="0.002849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:44.053296" elapsed="0.014075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:44.039867" elapsed="0.027605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:46.069508" 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-07-12T00:28:46.068935" elapsed="0.000641"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:46.070052" elapsed="0.000280"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:46.069702" elapsed="0.000681"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:46.069670" elapsed="0.000749"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:46.087219" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:46.087570" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:46.087896" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:46.079749" elapsed="0.008183"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:46.088600" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:46.088065" elapsed="0.000611"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:46.091687" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:46.088867" elapsed="0.002894"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:46.088708" elapsed="0.003098"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:46.088033" elapsed="0.003802"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:46.092003" elapsed="0.000221"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:46.095980" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:46.092698" elapsed="0.003461">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:46.092510" elapsed="0.003760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:46.092329" elapsed="0.004026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:46.079013" elapsed="0.017481">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:46.068228" elapsed="0.028416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:48.100090" 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-07-12T00:28:48.098863" elapsed="0.001315"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:48.101098" elapsed="0.000555"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:48.100387" elapsed="0.001381"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:48.100334" elapsed="0.001497"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:48.122423" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:48.122806" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:48.122958" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:48.114761" elapsed="0.008235"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:48.123598" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:48.123109" elapsed="0.000601"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:48.126997" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:48.123933" elapsed="0.003211"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:48.123747" elapsed="0.003448"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:48.123082" elapsed="0.004143"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:48.127443" elapsed="0.000274"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:48.131508" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:48.128199" elapsed="0.003451">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:48.128030" elapsed="0.003726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:48.127828" elapsed="0.004040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:48.114288" elapsed="0.017743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:48.097746" elapsed="0.034417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:50.134087" 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-07-12T00:28:50.133485" elapsed="0.000652"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:50.134658" elapsed="0.000294"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:50.134261" elapsed="0.000748"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:50.134230" elapsed="0.000815"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:50.153267" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:50.153518" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:50.153716" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:50.146303" elapsed="0.007439"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:50.154125" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:50.153824" elapsed="0.000356"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:50.156440" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:50.154325" elapsed="0.002167"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:50.154204" elapsed="0.002335"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:50.153805" elapsed="0.002757"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:50.156684" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:50.159412" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:50.157170" elapsed="0.002323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:50.157049" elapsed="0.002535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:50.156913" elapsed="0.002748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:50.145718" elapsed="0.014104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:50.132869" elapsed="0.027096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:52.162883" 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-07-12T00:28:52.161962" 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-07-12T00:28:52.163737" elapsed="0.000624"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:52.163140" elapsed="0.001311"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:52.163095" elapsed="0.001413"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:52.183492" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:52.183840" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:52.183942" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:52.176047" elapsed="0.007921"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:52.184349" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:52.184048" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:52.186701" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:52.184571" elapsed="0.002183"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:52.184430" elapsed="0.002359"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:52.184029" elapsed="0.002782"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:52.186934" elapsed="0.000167"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:52.190070" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:52.187412" elapsed="0.002735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:52.187292" elapsed="0.002929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:52.187158" elapsed="0.003125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:52.175388" elapsed="0.014998">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:52.160964" elapsed="0.029516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:54.193299" 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-07-12T00:28:54.192368" 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-07-12T00:28:54.194134" elapsed="0.000480"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:54.193581" elapsed="0.001124"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:54.193507" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:54.211786" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:54.212135" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:54.212290" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:54.205201" elapsed="0.007129"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:54.213046" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:54.212466" elapsed="0.000673"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:54.216668" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:54.213369" elapsed="0.003381"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:54.213177" elapsed="0.003636"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:54.212432" elapsed="0.004415"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:54.217034" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:54.221228" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:54.217786" elapsed="0.003562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:54.217599" elapsed="0.003862">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:54.217375" elapsed="0.004206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:54.204765" elapsed="0.016984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:54.191445" elapsed="0.030507">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:56.224615" 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-07-12T00:28:56.223733" elapsed="0.000948"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:28:56.225339" elapsed="0.000421"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:56.224851" elapsed="0.000983"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:56.224810" elapsed="0.001078"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:56.243450" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:56.243717" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:56.243853" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:56.236984" elapsed="0.006896"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:56.244262" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:56.243961" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:56.246602" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:56.244475" elapsed="0.002181"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:56.244348" elapsed="0.002350"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:56.243942" elapsed="0.002777"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:56.246843" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:56.250631" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:56.247326" elapsed="0.003418">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:56.247206" elapsed="0.003669">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:56.247070" elapsed="0.003906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:56.236426" elapsed="0.014839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:56.222839" elapsed="0.028578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:58.254390" 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-07-12T00:28:58.253390" 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-07-12T00:28:58.255424" elapsed="0.000538"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:58.254708" elapsed="0.001364"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:58.254656" elapsed="0.001492"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:28:58.276949" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:28:58.277278" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:28:58.277419" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:28:58.269974" elapsed="0.007482"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:28:58.278019" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:28:58.277598" elapsed="0.000500"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:28:58.281553" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:28:58.278306" elapsed="0.003324"/>
</kw>
<status status="PASS" start="2026-07-12T00:28:58.278132" elapsed="0.003548"/>
</branch>
<status status="PASS" start="2026-07-12T00:28:58.277570" elapsed="0.004141"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:28:58.281886" elapsed="0.000249"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:28:58.286275" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:58.282615" elapsed="0.003773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:58.282418" elapsed="0.004081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:58.282222" elapsed="0.004466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:58.269542" elapsed="0.017341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:58.252359" elapsed="0.034673">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:00.290172" 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-07-12T00:29:00.289148" elapsed="0.001101"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:00.291090" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:00.290456" elapsed="0.001260"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:00.290406" elapsed="0.001374"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:00.310412" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:00.310711" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:00.310823" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:00.302968" elapsed="0.007881"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:00.311310" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:00.310952" elapsed="0.000416"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:00.313723" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:00.311542" elapsed="0.002234"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:00.311395" elapsed="0.002416"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:00.310927" elapsed="0.002905"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:00.313988" elapsed="0.000181"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:00.317408" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:00.314509" elapsed="0.003007">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:00.314376" elapsed="0.003354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:00.314232" elapsed="0.003590">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:00.302297" elapsed="0.015693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:00.288120" elapsed="0.030013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:02.321015" 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-07-12T00:29:02.320071" 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-07-12T00:29:02.321892" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:02.321303" elapsed="0.001134"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:02.321259" elapsed="0.001236"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:02.340379" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:02.340743" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:02.340897" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:02.333635" elapsed="0.007299"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:02.341467" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:02.341064" elapsed="0.000503"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:02.344721" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:02.341774" elapsed="0.003021"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:02.341602" elapsed="0.003241"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:02.341019" elapsed="0.003853"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:02.345054" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:02.348997" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:02.345746" elapsed="0.003477">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:02.345578" elapsed="0.003754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:02.345369" elapsed="0.004050">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:02.333202" elapsed="0.016384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:02.319140" elapsed="0.030582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:04.352582" 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-07-12T00:29:04.351611" 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="PASS" start="2026-07-12T00:29:04.353404" elapsed="0.000488"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:04.352843" elapsed="0.001139"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:04.352798" elapsed="0.001241"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:04.371501" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:04.371772" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:04.371872" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:04.365218" elapsed="0.006680"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:04.372338" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:04.371978" elapsed="0.000442"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:04.375627" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:04.372653" elapsed="0.003130"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:04.372454" elapsed="0.003380"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:04.371959" 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-07-12T00:29:04.376039" elapsed="0.000269"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:04.380176" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:04.376771" elapsed="0.003514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:04.376602" elapsed="0.003787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:04.376391" elapsed="0.004255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:04.364799" elapsed="0.015990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:04.350670" elapsed="0.030251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:06.383799" 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-07-12T00:29:06.382841" elapsed="0.001030"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:06.384656" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:06.384060" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:06.384014" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:06.402945" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:06.403196" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:06.403373" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:06.395776" elapsed="0.007624"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:06.403809" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:06.403481" elapsed="0.000387"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:06.406134" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:06.404017" elapsed="0.002170"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:06.403893" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:06.403462" elapsed="0.002782"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:06.406368" elapsed="0.000185"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:06.409457" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:06.406870" elapsed="0.002713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:06.406750" elapsed="0.002938">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:06.406613" elapsed="0.003161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:06.395161" elapsed="0.014754">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:06.381869" elapsed="0.028179">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:08.412964" 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-07-12T00:29:08.412036" 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-07-12T00:29:08.413817" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:08.413228" elapsed="0.001158"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:08.413182" elapsed="0.001264"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:08.430709" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:08.431020" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:08.431132" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:08.423993" elapsed="0.007165"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:08.431640" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:08.431238" elapsed="0.000481"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:08.434919" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:08.431930" elapsed="0.003061"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:08.431753" elapsed="0.003287"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:08.431219" 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-07-12T00:29:08.435242" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:08.439118" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:08.435937" elapsed="0.003287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:08.435763" elapsed="0.003562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:08.435576" elapsed="0.003823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:08.423564" elapsed="0.015937">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:08.411050" elapsed="0.028566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:10.442691" 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-07-12T00:29:10.441704" 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-07-12T00:29:10.443606" elapsed="0.000484"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:10.442965" elapsed="0.001218"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:10.442914" elapsed="0.001327"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:10.461962" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:10.462233" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:10.462337" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:10.454694" elapsed="0.007670"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:10.462975" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:10.462465" elapsed="0.000593"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:10.466352" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:10.463266" elapsed="0.003159"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:10.463092" elapsed="0.003384"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:10.462433" elapsed="0.004073"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:10.466707" elapsed="0.000256"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:10.470910" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:10.467414" elapsed="0.003619">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:10.467243" elapsed="0.003898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:10.467048" elapsed="0.004180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:10.454249" elapsed="0.017121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:10.440630" elapsed="0.030970">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:12.474460" 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-07-12T00:29:12.473504" 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-07-12T00:29:12.475319" elapsed="0.000500"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:12.474754" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:12.474707" elapsed="0.001263"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:12.493684" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:12.493943" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:12.494044" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:12.486232" elapsed="0.007839"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:12.494446" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:12.494151" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:12.497038" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:12.494675" elapsed="0.002417"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:12.494544" elapsed="0.002584"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:12.494133" elapsed="0.003017"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:12.497277" elapsed="0.000171"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:12.501012" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:12.497908" elapsed="0.003209">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:12.497732" elapsed="0.003490">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:12.497514" elapsed="0.003792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:12.485611" elapsed="0.015934">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:12.472576" elapsed="0.029113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:14.504636" 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-07-12T00:29:14.503684" 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-07-12T00:29:14.505522" elapsed="0.000525"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:14.504923" elapsed="0.001221"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:14.504871" elapsed="0.001335"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:14.523977" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:14.524244" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:14.524362" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:14.517011" elapsed="0.007377"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:14.524939" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:14.524475" elapsed="0.000544"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:14.528291" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:14.525227" elapsed="0.003137"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:14.525056" elapsed="0.003357"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:14.524455" 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-07-12T00:29:14.528658" elapsed="0.000255"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:14.532705" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:14.529362" elapsed="0.003446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:14.529192" elapsed="0.003695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:14.528997" elapsed="0.004018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:14.516583" elapsed="0.016544">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:14.502671" elapsed="0.030552">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:16.536149" 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-07-12T00:29:16.535209" 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-07-12T00:29:16.536996" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:16.536408" elapsed="0.001162"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:16.536362" elapsed="0.001270"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:16.554337" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:16.554604" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:16.554711" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:16.547495" elapsed="0.007242"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:16.555394" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:16.555048" elapsed="0.000404"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:16.557737" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:16.555623" elapsed="0.002167"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:16.555477" elapsed="0.002348"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:16.555026" elapsed="0.002820"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:16.557968" elapsed="0.000167"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:16.561351" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:16.558445" elapsed="0.003014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:16.558328" elapsed="0.003331">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:16.558193" elapsed="0.003559">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:16.546917" elapsed="0.014977">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:16.534210" elapsed="0.027818">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:18.564852" 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-07-12T00:29:18.563910" 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-07-12T00:29:18.565688" elapsed="0.000621"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:18.565105" elapsed="0.001300"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:18.565060" elapsed="0.001404"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:18.582166" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:18.582393" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:18.582493" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:18.575541" elapsed="0.006978"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:18.582988" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:18.582618" elapsed="0.000453"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:18.586342" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:18.583296" elapsed="0.003119"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:18.583117" elapsed="0.003347"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:18.582599" elapsed="0.003894"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:18.586688" elapsed="0.000235"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:18.590563" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:18.587364" elapsed="0.003387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:18.587197" elapsed="0.003661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:18.587001" elapsed="0.003944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:18.575108" elapsed="0.015977">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:18.563004" elapsed="0.028225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:20.594267" 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-07-12T00:29:20.593492" elapsed="0.000825"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:20.594862" elapsed="0.000332"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:20.594451" elapsed="0.000806"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:20.594416" elapsed="0.000881"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:20.612676" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:20.613016" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:20.613156" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:20.605210" elapsed="0.007980"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:20.613683" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:20.613292" elapsed="0.000463"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:20.616728" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:20.613947" elapsed="0.002905"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:20.613788" elapsed="0.003108"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:20.613267" elapsed="0.003656"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:20.617092" elapsed="0.000180"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:20.620806" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:20.617636" elapsed="0.003286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:20.617488" elapsed="0.003562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:20.617332" elapsed="0.003807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:20.604560" elapsed="0.016724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:20.592391" elapsed="0.029029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:22.624823" 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-07-12T00:29:22.623833" 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-07-12T00:29:22.625708" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:22.625103" elapsed="0.001156"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:22.625056" elapsed="0.001260"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:22.643056" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:22.643382" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:22.643635" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:22.636936" elapsed="0.006748"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:22.644245" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:22.643802" elapsed="0.000525"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:22.647578" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:22.644573" elapsed="0.003079"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:22.644361" elapsed="0.003339"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:22.643774" elapsed="0.003956"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:22.647920" elapsed="0.000275"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:22.652034" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:22.648655" elapsed="0.003537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:22.648466" elapsed="0.003832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:22.648278" elapsed="0.004106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:22.636484" elapsed="0.016059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:22.622789" elapsed="0.029926">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:24.655577" 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-07-12T00:29:24.654631" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:24.656384" elapsed="0.000493"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:24.655835" elapsed="0.001135"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:24.655790" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:24.674959" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:24.675280" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:24.675382" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:24.667260" 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-07-12T00:29:24.675808" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:24.675490" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:24.678144" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:24.676018" elapsed="0.002178"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:24.675890" elapsed="0.002341"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:24.675470" elapsed="0.002782"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:24.678375" elapsed="0.000184"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:24.681638" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:24.678880" elapsed="0.002865">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:24.678761" elapsed="0.003086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:24.678621" elapsed="0.003312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:24.666669" elapsed="0.015403">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:24.653711" elapsed="0.028492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:26.685623" 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-07-12T00:29:26.684469" elapsed="0.001234"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:26.686620" elapsed="0.000516"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:26.685905" elapsed="0.001294"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:26.685856" elapsed="0.001381"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:26.706458" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:26.706743" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:26.706865" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:26.699299" elapsed="0.007593"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:26.707426" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:26.706984" elapsed="0.000527"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:26.710960" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:26.707758" elapsed="0.003301"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:26.707572" elapsed="0.003544"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:26.706963" elapsed="0.004186"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:26.711331" elapsed="0.000275"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:26.715304" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:26.712072" elapsed="0.003341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:26.711892" elapsed="0.003624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:26.711692" elapsed="0.003933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:26.698706" elapsed="0.017064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:26.683454" elapsed="0.032522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:28.718913" 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-07-12T00:29:28.717966" elapsed="0.001019"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:28.719768" elapsed="0.000481"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:28.719174" elapsed="0.001196"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:28.719128" elapsed="0.001304"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:28.737075" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:28.737333" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:28.737456" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:28.730468" elapsed="0.007015"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:28.737888" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:28.737585" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:28.740233" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:28.738102" elapsed="0.002184"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:28.737971" elapsed="0.002350"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:28.737565" elapsed="0.002778"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:28.740467" elapsed="0.000189"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:28.744023" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:28.740974" elapsed="0.003161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:28.740855" elapsed="0.003387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:28.740717" elapsed="0.003612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:28.729757" elapsed="0.014864">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:28.716964" elapsed="0.027802">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:30.747598" 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-07-12T00:29:30.746678" 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-07-12T00:29:30.748417" elapsed="0.001539"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:30.747857" elapsed="0.002193"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:30.747812" elapsed="0.002296"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:30.769680" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:30.769922" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:30.770022" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:30.761885" elapsed="0.008164"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:30.770495" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:30.770128" elapsed="0.000470"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:30.773820" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:30.770807" elapsed="0.003086"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:30.770633" elapsed="0.003308"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:30.770110" elapsed="0.003862"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:30.774144" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:30.777947" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:30.774827" elapsed="0.003224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:30.774661" elapsed="0.003492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:30.774455" elapsed="0.003860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:30.761453" elapsed="0.017006">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:30.745738" elapsed="0.032878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:32.780779" 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-07-12T00:29:32.780136" elapsed="0.000693"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:32.781347" elapsed="0.000316"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:32.780960" elapsed="0.000760"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:32.780928" elapsed="0.000827"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:32.798339" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:32.798600" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:32.798712" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:32.791251" elapsed="0.007488"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:32.799112" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:32.798820" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:32.801448" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:32.799319" elapsed="0.002181"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:32.799194" elapsed="0.002358"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:32.798800" elapsed="0.002775"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:32.801699" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:32.804475" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:32.802177" elapsed="0.002422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:32.802058" elapsed="0.002727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:32.801925" elapsed="0.002952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:32.790656" elapsed="0.014365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:32.779430" elapsed="0.025727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:34.808418" 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-07-12T00:29:34.807395" 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-07-12T00:29:34.809345" elapsed="0.000536"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:34.808739" elapsed="0.001240"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:34.808686" elapsed="0.001355"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:34.828803" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:34.829055" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:34.829156" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:34.822356" elapsed="0.006828"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:34.829668" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:34.829265" elapsed="0.000496"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:34.833063" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:34.829991" elapsed="0.003145"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:34.829808" elapsed="0.003376"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:34.829246" 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-07-12T00:29:34.833389" elapsed="0.000259"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:34.837728" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:34.834110" elapsed="0.003801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:34.833942" elapsed="0.004081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:34.833730" elapsed="0.004381">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:34.821932" elapsed="0.016323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:34.806202" elapsed="0.032194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:36.841457" 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-07-12T00:29:36.840472" 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-07-12T00:29:36.842423" elapsed="0.000579"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:36.841788" elapsed="0.001310"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:36.841739" elapsed="0.001419"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:36.863132" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:36.863419" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:36.863710" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:36.856257" elapsed="0.007503"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:36.864326" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:36.863893" elapsed="0.000514"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:36.867669" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:36.864644" elapsed="0.003174"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:36.864442" elapsed="0.003426"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:36.863864" elapsed="0.004035"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:36.868075" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:36.871907" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:36.868776" elapsed="0.003239">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:36.868605" elapsed="0.003513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:36.868393" elapsed="0.003813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:36.855832" elapsed="0.016518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:36.839413" elapsed="0.033071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:38.875464" 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-07-12T00:29:38.874495" elapsed="0.001077"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:38.876332" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:38.875766" elapsed="0.001177"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:38.875719" elapsed="0.001284"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:38.892971" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:38.893243" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:38.893413" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:38.886354" elapsed="0.007086"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:38.893847" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:38.893546" elapsed="0.000359"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:38.896166" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:38.894055" elapsed="0.002162"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:38.893930" elapsed="0.002323"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:38.893503" elapsed="0.002771"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:38.896398" elapsed="0.000193"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:38.899152" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:38.896922" elapsed="0.002310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:38.896787" elapsed="0.002521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:38.896649" elapsed="0.002721">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:38.885922" elapsed="0.013551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:38.873499" elapsed="0.026093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:40.902712" 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-07-12T00:29:40.901789" 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-07-12T00:29:40.903562" elapsed="0.000509"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:40.902973" elapsed="0.001190"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:40.902928" elapsed="0.001293"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:40.921430" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:40.921797" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:40.921898" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:40.913785" elapsed="0.008139"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:40.922298" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:40.922003" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:40.924702" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:40.922505" elapsed="0.002250"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:40.922380" elapsed="0.002410"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:40.921985" elapsed="0.002827"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:40.924935" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:40.927872" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:40.925418" elapsed="0.002532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:40.925299" elapsed="0.002755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:40.925162" elapsed="0.002957">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:40.913149" elapsed="0.015074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:40.900833" elapsed="0.027486">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:42.931216" 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-07-12T00:29:42.930250" elapsed="0.001040"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:42.932084" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:42.931480" elapsed="0.001193"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:42.931433" elapsed="0.001298"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:42.950232" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:42.950471" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:42.950594" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:42.943034" elapsed="0.007587"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:42.951000" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:42.950707" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:42.953343" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:42.951236" elapsed="0.002159"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:42.951081" elapsed="0.002348"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:42.950686" 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-07-12T00:29:42.953588" elapsed="0.000168"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:42.956636" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:42.954066" elapsed="0.002677">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:42.953948" elapsed="0.002898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:42.953813" elapsed="0.003120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:42.942436" elapsed="0.014637">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:42.929286" elapsed="0.027986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:44.959403" 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-07-12T00:29:44.958796" elapsed="0.000657"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:44.959973" elapsed="0.000311"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:44.959603" elapsed="0.000738"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:44.959571" elapsed="0.000807"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:44.977463" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:44.977753" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:44.977881" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:44.970405" elapsed="0.007502"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:44.978320" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:44.977990" elapsed="0.000405"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:44.980809" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:44.978604" elapsed="0.002260"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:44.978421" elapsed="0.002479"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:44.977971" elapsed="0.002952"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:44.981067" elapsed="0.000185"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:44.984492" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:44.981597" elapsed="0.003033">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:44.981455" elapsed="0.003283">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:44.981312" elapsed="0.003560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:44.969741" elapsed="0.015375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:44.958097" elapsed="0.027162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:46.988133" 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-07-12T00:29:46.987200" 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-07-12T00:29:46.988982" elapsed="0.000512"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:46.988392" elapsed="0.001224"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:46.988345" elapsed="0.001330"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:47.005806" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:47.006065" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:47.006166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:46.998888" elapsed="0.007304"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:47.006578" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:47.006270" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:47.008909" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:47.006790" elapsed="0.002171"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:47.006660" elapsed="0.002336"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:47.006252" elapsed="0.002766"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:47.009141" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:47.012980" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:47.009668" elapsed="0.003421">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:47.009546" elapsed="0.003644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:47.009395" elapsed="0.003961">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:46.998285" elapsed="0.015216">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:46.986240" elapsed="0.027418">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:49.016609" 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-07-12T00:29:49.015606" 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-07-12T00:29:49.017472" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:49.016907" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:49.016859" elapsed="0.001255"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:49.037446" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:49.037720" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:49.037820" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:49.030864" elapsed="0.006982"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-07-12T00:29:49.038384" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:49.037936" elapsed="0.000527"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:49.041717" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:49.038697" elapsed="0.003094"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:49.038496" elapsed="0.003343"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:49.037910" elapsed="0.003959"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:49.042040" elapsed="0.000231"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:49.045915" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:49.042720" elapsed="0.003302">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:49.042553" elapsed="0.003641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:49.042348" elapsed="0.003935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:49.030429" elapsed="0.015995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:49.014638" elapsed="0.031941">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.049451" 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-07-12T00:29:51.048557" elapsed="0.000968"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-07-12T00:29:51.050308" elapsed="0.000500"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:51.049746" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:51.049700" elapsed="0.001256"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:51.067232" level="INFO">GET Request : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:51.067478" level="INFO">GET Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-07-12T00:29:51.067637" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-07-12T00:29:51.060660" 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-07-12T00:29:51.068061" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-07-12T00:29:51.067766" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:51.070422" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:51.068281" elapsed="0.002194"/>
</kw>
<status status="PASS" start="2026-07-12T00:29:51.068143" elapsed="0.002367"/>
</branch>
<status status="PASS" start="2026-07-12T00:29:51.067743" elapsed="0.002805"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-07-12T00:29:51.070674" elapsed="0.000168"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:51.073455" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.071155" elapsed="0.002449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.071037" elapsed="0.002643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.070897" elapsed="0.002846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.060223" elapsed="0.013624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.047477" elapsed="0.026469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-07-12T00:29:51.074037" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:28:19.658954" elapsed="91.415189">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.074361" elapsed="0.000022"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:51.075194" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:29:51.353905" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:29:51.354206" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:29:51.354308" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:29:51.354400" 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-07-12T00:29:51.075016" elapsed="0.279436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:51.355567" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:51.354885" elapsed="0.000783"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:51.356365" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:29:51.653594" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:29:51.653907" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:29:51.654011" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:29:51.654206" 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-07-12T00:29:51.355992" elapsed="0.298270"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:51.655223" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:29:51.717811" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:51.718078" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:29:51.718178" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:29:51.718266" 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-07-12T00:29:51.654785" elapsed="0.063531"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:51.718939" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:29:51.771665" 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-07-12T00:29:51.718709" elapsed="0.053099"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:51.786361" level="INFO">DELETE Request : url=http://10.30.171.144: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=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:51.786425" level="INFO">DELETE Response : url=http://10.30.171.144:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:51.786578" 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-07-12T00:29:51.772128" elapsed="0.014488"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:51.792364" level="INFO">DELETE Request : url=http://10.30.171.144: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=node0gjvpnjqm0zal1w7mawc8waaas5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:51.792644" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:29:51.792788" 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-07-12T00:29:51.786815" elapsed="0.006010"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:29:51.074703" elapsed="0.718222"/>
</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-07-12T00:28:18.981965" elapsed="92.811030">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDsMXL15lGCITGrICm157kLL1vdwMEn6IGqoQx4Uq4zEThUCOtYDgn0acrWlXFIMyGRZT4gK/Bc+YNrndLeKJSB57fNwSW2sD48vmlYH+WWrTMDcKZFXpLGc9MOa8W49rlWMA0F/lLG3JO47vRoMi7G0w9RWHBzS4xJJph5nJBro2E6YHOZ8jKHw7ngbmLdUSX1u+XhdPWTjOceqOWcdC8dKPBGbleRE4v9UUXU+JGtaau7boL6OE7/uK5yRaj11WmmXunWA1p+9MW+cpbEJHdWz4Q1fpNhIkCsUQmXn1Vh5cvhvNIX2E1JwzzHpDd3ALUls/oU+CC7xROwB2nMa/f5","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-07-12T00:29:51.795398" level="INFO">Creating Session using : alias=session, url=http://10.30.171.144:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7c89490f8810&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-07-12T00:29:51.795021" elapsed="0.000599"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:51.795993" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-07-12T00:29:51.819359" 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-07-12T00:29:51.795857" elapsed="0.023636"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:51.820058" 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-07-12T00:29:52.019721" 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-07-12T00:29:51.819840" elapsed="0.200116"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:52.020794" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-07-12T00:29:52.072042" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:52.072255" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwTHebRhFUUJgGypbDX5qS7VUBCQ+an6AZdIEHOZ4Hl2YqP1ZF5LobIDbujc/dgvpjxqhhf/+WQryt/2U6UjcfzAEODTnoEzH8yp7DZNpfDQkohUIF9hf4od50bejSuOf7gOgSQJFw9uWfE9Ww9LVpK7hQ0/vx8KSby7MTfiDV...</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-07-12T00:29:52.020407" elapsed="0.051888"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-07-12T00:29:52.078888" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwTHebRhFUUJgGypbDX5qS7VUBCQ+an6AZdIEHOZ4Hl2YqP1ZF5LobIDbujc/dgvpjxqhhf/+WQryt/2U6UjcfzAEODTnoEzH8yp7DZNpfDQkohUIF9hf4od50bejSuOf7gOgSQJFw9uWfE9Ww9LVpK7hQ0/vx8KSby7MTfiDV...</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-07-12T00:29:52.072624" elapsed="0.006341"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-07-12T00:29:51.794648" elapsed="0.284429"/>
</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-07-12T00:29:52.080612" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-07-12T00:29:52.124079" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:52.124305" 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-07-12T00:29:52.080414" elapsed="0.043947"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:29:52.171878" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg' -&gt; '/home/jenkins/./x509_v3.cfg'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg</arg>
<arg>./x509_v3.cfg</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:29:52.124724" elapsed="0.047307"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:52.172671" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-07-12T00:29:52.650788" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:52.651174" 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-07-12T00:29:52.172382" elapsed="0.478850"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:52.652014" 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-07-12T00:29:52.710889" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:52.711122" 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-07-12T00:29:52.651699" elapsed="0.059479"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:52.711804" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-07-12T00:29:52.956864" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:52.957139" 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-07-12T00:29:52.711517" elapsed="0.245671"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:52.957780" 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-07-12T00:29:53.003962" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.004198" 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-07-12T00:29:52.957515" elapsed="0.046738"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.004895" 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-07-12T00:29:53.056009" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.056308" 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-07-12T00:29:53.004648" elapsed="0.051718"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.057138" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-07-12T00:29:53.118050" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.118338" 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-07-12T00:29:53.056864" elapsed="0.061534"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.119210" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-07-12T00:29:53.296124" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.296449" 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-07-12T00:29:53.118928" elapsed="0.177581"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.297242" 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-07-12T00:29:53.350963" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.351215" 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-07-12T00:29:53.296948" elapsed="0.054334"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.351890" 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-07-12T00:29:53.400282" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.400507" 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-07-12T00:29:53.351654" elapsed="0.048939"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.401254" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-07-12T00:29:53.452182" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.452409" 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-07-12T00:29:53.401023" elapsed="0.051444"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-07-12T00:29:52.080007" elapsed="1.372657"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.497197" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:29:53.452961" elapsed="0.044379"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.504013" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml' -&gt; '/home/jenkins/configuration-files/ietf-truststore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml</arg>
<arg>configuration-files/ietf-truststore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:29:53.497705" elapsed="0.006462"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.512628" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-07-12T00:29:53.504520" elapsed="0.008254"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-07-12T00:29:52.079450" elapsed="1.433489"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.514067" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-07-12T00:29:53.526413" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:53.526747" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC5zystrOzsqemX
Yf2VX1iZAOQEsDJKr7PcEly9FuWyv9yRtAIjtMr/eSdS/fXyA5eL3R0hAImj/tyd
4dnsH/YpVQ1DNbinntD6MAB59k0IGCT6N7vbWu+I1s...</msg>
<msg time="2026-07-12T00:29:53.526863" 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-07-12T00:29:53.513842" elapsed="0.013076"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-07-12T00:29:53.527677" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json&lt;/a&gt;'.</msg>
<msg time="2026-07-12T00:29:53.528008" 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-07-12T00:29:53.527274" elapsed="0.000800"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-07-12T00:29:53.529035" level="INFO">${body} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwg...</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-07-12T00:29:53.528420" elapsed="0.000679"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:53.568938" level="INFO">POST Request : url=http://10.30.171.144: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': '1910', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC5zystrOzsqemX
Yf2VX1iZAOQEsDJKr7PcEly9FuWyv9yRtAIjtMr/eSdS/fXyA5eL3R0hAImj/tyd
4dnsH/YpVQ1DNbinntD6MAB59k0IGCT6N7vbWu+I1sHd0hltysff27gCcSmcAeJP
SzegiLRk8kzJx6OE8FLPu+NkPBI2ocVvk/cGGiW0IE6T20zh4uv14mv1eRk6hixF
XmFweJClMMeE3p/Um0hvlQeZuG1gZJe5G0YXpF/A2TgmqY9y8v3RNV+FgJFQy6ka
8c9NpODR6D9zmSCeV9pbgoxHZ2NmfssmAkHhy5UAqvE/9jxBGGlblrxP4sksFBg3
ZFKUDIQbAgMBAAECggEACD57xYOzU9om/Ri3Q2RGCrr11MPdc9GKH2XJK5Yott65
R7k+5w447U8XCZL2JtU193Z0SC89QXxgsmNGuRuGX2P9HYr0bcfuzUr0YZFe7ntz
wzkA8P3wkXtF1zSZp1hPRmj57xjqQpgx6pFo5jVqjV8pBCZ1AODCnaHSDayvT4Z7
1flVYDxSj5s+pzimkU1DmXXoMRI1bdqDrUOrXlNz+fjgyWlZ0F6jkMeBNyp2mgAm
vajuUSQZIArLvVvsakyI+gwRs8dt60iV/9QOY14jmpRx07RPO3cerIbqatqzimRY
E5AAulKt96QXSk0IvKIeRrZl0HiXdyg0VomYSDLBsQKBgQDxMXLZ7oQajyghllfd
4XyIVePsOZ2aTIRwnkXUCDAkZyfYHnadtXUCVVJqydnCXsq1fXkA15W/+ESbB6PX
FtG7fd/VOTpR13KD1XchtyUEVKtuVw26Tlg4pT1v38yUZIZab2UFofcIWmA7KlL4
r+Ot0TWF+YwFXxild/6XkioiBQKBgQDFN1DZau/4NlwWeENR89++90t07Sndp62C
s2GW1nm3z7vh6gr9N0+PdihgjacvLnlmdzd9eNDlB3KmTYR1ZBZT4djM2YwKh1na
ttSTsjwGNydWpReJABsRea0SO1509FMefhDu4fQt1PejHJf7U12t1L5K1662XM88
8F9520pHnwKBgQCveJklAcisBeBdZyJvsv9FtK8ICfal7esgf5Uvp/FWWpH7QlZr
cDs7QlWeiVFaflodZbZlrXIt4nIPE6TX86sMK4xvdJ4AMq0GSoPMTJCqsOqzcLP1
CdBXDag/vuL4RpYULxyg12+AbTe7c5Q/hr8ukpjM6ns64S9uGnlnThhG/QKBgQDB
vxYugmA9+Sl+6ac5W9z0Pv5iYJxApfpP7OpyxUHO0sZBqywgl7YRuoLwWDlmoMGj
aHubSJXwauC3gHAg47MLtVTH6vEpZs9fjz5H21IcyRJcjNQSQ4hUIrVks+6X92+x
BSidhl3cqNyf4fdtcPkXTWmlHT8G6SavN3aUwFq5AQKBgQDAEO9hVTIIEu2kt6TF
we22J/iPSwmg7ZNer0JhMrSCYLqO4zu5+jZoMm5wTBrcr1nSinfm64J6CI5yjRD8
mNozxYHZAz1skTRzsLKLkLABwsKqzA1p6MA+hC3BHDHjZk7Rpg6cUHCUbckkBbPE
AXk31U80eJ0+0xh8IjKTCrvwSQ==
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-07-12T00:29:53.569414" level="INFO">POST Response : url=http://10.30.171.144:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node01hpfc7ipmfueme7b82gxolxaq6.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sat, 11-Jul-2026 00:29:53 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-07-12T00:29:53.569844" 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-07-12T00:29:53.529414" elapsed="0.040495"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-07-12T00:29:53.576106" 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-07-12T00:29:53.570278" elapsed="0.005987">'[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-07-12T00:29:53.576747" elapsed="0.000063"/>
</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-07-12T00:29:53.577181" elapsed="0.000056"/>
</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-07-12T00:29:53.577565" elapsed="0.000052"/>
</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-07-12T00:29:53.577933" 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-07-12T00:29:53.578293" elapsed="0.000045"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-private-key</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-07-12T00:29:53.578680" elapsed="0.000049"/>
</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-07-12T00:29:53.579057" 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-07-12T00:29:53.579462" elapsed="0.000054"/>
</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-07-12T00:29:53.579905" elapsed="0.000054"/>
</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-07-12T00:29:53.580242" elapsed="0.000044"/>
</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-07-12T00:29:53.580598" elapsed="0.000045"/>
</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-07-12T00:29:53.580937" elapsed="0.000041"/>
</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-07-12T00:29:53.581261" elapsed="0.000042"/>
</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-07-12T00:29:53.581633" elapsed="0.000044"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-07-12T00:29:53.513395" elapsed="0.068496">'[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-07-12T00:29:53.582287" elapsed="0.000053"/>
</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-07-12T00:29:53.582709" elapsed="0.000048"/>
</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-07-12T00:29:53.583119" elapsed="0.000050"/>
</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-07-12T00:29:53.583359" elapsed="0.000019"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.584162" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-07-12T00:29:53.838565" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:29:53.838853" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:29:53.838936" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:29:53.839015" 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-07-12T00:29:53.583997" elapsed="0.255061"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-07-12T00:29:53.839694" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-07-12T00:29:53.839325" elapsed="0.000413"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:53.840055" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-07-12T00:29:54.131135" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-07-12T00:29:54.131451" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:29:54.131598" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version</msg>
<msg time="2026-07-12T00:29:54.131817" 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-07-12T00:29:53.839881" elapsed="0.291991"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:54.132714" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-07-12T00:29:54.200119" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:54.200380" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-07-12T00:29:54.200482" level="INFO">${stderr} = </msg>
<msg time="2026-07-12T00:29:54.200603" 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-07-12T00:29:54.132268" elapsed="0.068388"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-07-12T00:29:54.201223" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-07-12T00:29:54.247436" 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-07-12T00:29:54.200998" elapsed="0.046615"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:54.256430" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01hpfc7ipmfueme7b82gxolxaq6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:54.256725" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:29:54.256863" 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-07-12T00:29:54.247933" elapsed="0.008966"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:54.263401" level="INFO">DELETE Request : url=http://10.30.171.144: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=node01hpfc7ipmfueme7b82gxolxaq6.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-07-12T00:29:54.263627" level="INFO">DELETE Response : url=http://10.30.171.144: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-07-12T00:29:54.263772" 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-07-12T00:29:54.257092" elapsed="0.006718"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-07-12T00:29:53.583692" elapsed="0.680219"/>
</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-07-12T00:29:51.793377" elapsed="2.470607">'[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-07-12T00:29:54.267346" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-07-12T00:29:54.924139" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-07-12T00:29:54.924486" level="INFO">${stdout} = </msg>
<msg time="2026-07-12T00:29:54.924624" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-07-12T00:29:54.924719" 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-07-12T00:29:54.266968" elapsed="0.657802"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-07-12T00:29:54.266429" elapsed="0.658564"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-07-12T00:29:54.925565" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-07-12T00:29:54.925327" elapsed="0.001081"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-07-12T00:29:54.926754" elapsed="0.000704"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-07-12T00:29:54.265636" elapsed="0.662015"/>
</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-07-12T00:21:53.428447" elapsed="481.499281"/>
</suite>
<status status="FAIL" start="2026-07-12T00:21:53.389511" elapsed="481.541296"/>
</suite>
<statistics>
<total>
<stat pass="1" fail="6" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="netconf-callhome.txt" id="s1" pass="1" fail="6" skip="0">netconf-callhome.txt</stat>
<stat name="Callhome" id="s1-s1" pass="1" fail="6" skip="0">netconf-callhome.txt.Callhome</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
