<?xml version="1.0" encoding="UTF-8"?>
<robot rpa="false" generated="20240829 09:45:39.048" schemaversion="2" generator="Robot 4.1.1 (Python 2.7.5 on linux2)">
<suite source="/users/merwin/vlite/health_report/diag_robot/vlite_health.robot" id="s1" name="Vlite Health">
<test id="s1-t1" name="load vlite data">
<kw name="initialize suite">
<kw name="Run Keyword If" library="BuiltIn">
<var>${ok}</var>
<arg>"${test}" == "test"</arg>
<arg>load test datafile</arg>
<arg>ELSE</arg>
<arg>load vlite status</arg>
<doc>Runs the given keyword with the given arguments, if ``condition`` is true.</doc>
<kw name="load vlite status">
<doc>Load data from configuration file, delay file, executor,
D306 module monitor and control, and node REST interface.</doc>
<kw name="Log" library="BuiltIn">
<arg>querying array data</arg>
<doc>Logs the given message with the given level.</doc>
<msg timestamp="20240829 09:45:39.159" level="INFO">querying array data</msg>
<status status="PASS" endtime="20240829 09:45:39.160" starttime="20240829 09:45:39.159"/>
</kw>
<kw name="initialize data">
<msg timestamp="20240829 09:45:39.164" level="FAIL">No keyword with name 'initialize data' found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.164" starttime="20240829 09:45:39.164"/>
</kw>
<kw name="load configuration file">
<status status="NOT RUN" endtime="20240829 09:45:39.169" starttime="20240829 09:45:39.169"/>
</kw>
<kw name="Run Keyword And Continue On Failure" library="BuiltIn">
<arg>load delays</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.170" starttime="20240829 09:45:39.170"/>
</kw>
<kw name="Run Keyword And Continue On Failure" library="BuiltIn">
<arg>load executor</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.170" starttime="20240829 09:45:39.170"/>
</kw>
<kw name="Run Keyword And Continue On Failure" library="BuiltIn">
<arg>load scistats</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.170" starttime="20240829 09:45:39.170"/>
</kw>
<kw name="initialize suite variables">
<status status="NOT RUN" endtime="20240829 09:45:39.171" starttime="20240829 09:45:39.171"/>
</kw>
<for flavor="IN">
<var>${vla_ant}</var>
<value>@{vla_antennas}</value>
<iter>
<var name="${vla_ant}">${vla_ant}</var>
<kw name="Run Keyword And Continue On Failure" library="BuiltIn">
<arg>load module</arg>
<arg>${vla_ant}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.171" starttime="20240829 09:45:39.171"/>
</kw>
<status status="NOT RUN" endtime="20240829 09:45:39.171" starttime="20240829 09:45:39.171"/>
</iter>
<status status="NOT RUN" endtime="20240829 09:45:39.171" starttime="20240829 09:45:39.171"/>
</for>
<for flavor="IN">
<var>${node}</var>
<value>@{nodes}</value>
<iter>
<var name="${node}">${node}</var>
<kw name="Run Keyword And Continue On Failure" library="BuiltIn">
<arg>load node</arg>
<arg>${node}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.172" starttime="20240829 09:45:39.172"/>
</kw>
<status status="NOT RUN" endtime="20240829 09:45:39.172" starttime="20240829 09:45:39.172"/>
</iter>
<status status="NOT RUN" endtime="20240829 09:45:39.172" starttime="20240829 09:45:39.171"/>
</for>
<kw name="dump data">
<status status="NOT RUN" endtime="20240829 09:45:39.176" starttime="20240829 09:45:39.176"/>
</kw>
<status status="FAIL" endtime="20240829 09:45:39.177" starttime="20240829 09:45:39.158"/>
</kw>
<status status="FAIL" endtime="20240829 09:45:39.178" starttime="20240829 09:45:39.157"/>
</kw>
<kw name="Run Keyword If" library="BuiltIn">
<arg>not ${ok}</arg>
<arg>fatal error</arg>
<doc>Runs the given keyword with the given arguments, if ``condition`` is true.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.179" starttime="20240829 09:45:39.179"/>
</kw>
<kw name="log configuration data">
<status status="NOT RUN" endtime="20240829 09:45:39.183" starttime="20240829 09:45:39.183"/>
</kw>
<status status="FAIL" endtime="20240829 09:45:39.184" starttime="20240829 09:45:39.156"/>
</kw>
<doc>Initialize the test suite, loading data from files, modules, executor, and difx nodes.
If the argument 'test' equals 'test' or is missing, all data will be loaded from a test file.
Otherwise live array data is loaded.</doc>
<status status="FAIL" endtime="20240829 09:45:39.185" starttime="20240829 09:45:39.155">No keyword with name 'initialize data' found.</status>
</test>
<test id="s1-t2" name="are any antennas disabled">
<kw name="get all vlite antennas">
<var>${all_vlite_antennas} =</var>
<msg timestamp="20240829 09:45:39.190" level="FAIL">No keyword with name 'get all vlite antennas' found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.190" starttime="20240829 09:45:39.190"/>
</kw>
<for flavor="IN">
<var>${vlite_ant}</var>
<value>@{all_vlite_antennas}</value>
<iter>
<var name="${vlite_ant}">${vlite_ant}</var>
<kw name="Run Keyword And Continue On Failure" library="BuiltIn">
<arg>check vlite antenna enabled</arg>
<arg>${vlite_ant}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="NOT RUN" endtime="20240829 09:45:39.191" starttime="20240829 09:45:39.191"/>
</kw>
<status status="NOT RUN" endtime="20240829 09:45:39.191" starttime="20240829 09:45:39.191"/>
</iter>
<status status="NOT RUN" endtime="20240829 09:45:39.191" starttime="20240829 09:45:39.190"/>
</for>
<doc>Flags any antennas disabled in configuration.</doc>
<status status="FAIL" endtime="20240829 09:45:39.191" starttime="20240829 09:45:39.185">No keyword with name 'get all vlite antennas' found.</status>
</test>
<test id="s1-t3" name="verify config file is fresh">
<kw name="verify config file fresh">
<msg timestamp="20240829 09:45:39.197" level="FAIL">No keyword with name 'verify config file fresh' found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.197" starttime="20240829 09:45:39.196"/>
</kw>
<doc>Ensure that the configuration file used by the correlator
has been recently updated to match the database configuration.</doc>
<status status="FAIL" endtime="20240829 09:45:39.197" starttime="20240829 09:45:39.192">No keyword with name 'verify config file fresh' found.</status>
</test>
<test id="s1-t4" name="check delays">
<for flavor="IN">
<var>${vlite_ant}</var>
<value>@{vlite_antennas}</value>
<msg timestamp="20240829 09:45:39.200" level="FAIL">Variable '@{vlite_antennas}' not found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.200" starttime="20240829 09:45:39.199"/>
</for>
<doc>Examine delays for high delays, invalid or special values,
and high crosspol deltas.</doc>
<status status="FAIL" endtime="20240829 09:45:39.201" starttime="20240829 09:45:39.198">Variable '@{vlite_antennas}' not found.</status>
</test>
<test id="s1-t5" name="check reference antenna">
<kw name="check v0">
<msg timestamp="20240829 09:45:39.206" level="FAIL">No keyword with name 'check v0' found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.206" starttime="20240829 09:45:39.206"/>
</kw>
<doc>If there are many bad delays, report the possiblity that V0
is experiencing difficulty.</doc>
<status status="FAIL" endtime="20240829 09:45:39.206" starttime="20240829 09:45:39.202">No keyword with name 'check v0' found.</status>
</test>
<test id="s1-t6" name="check data connectivity">
<for flavor="IN">
<var>${vla_antenna}</var>
<value>@{vla_antennas}</value>
<msg timestamp="20240829 09:45:39.209" level="FAIL">Variable '@{vla_antennas}' not found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.209" starttime="20240829 09:45:39.208"/>
</for>
<doc>Verify data connectivity on D306 and nodes. Examine
ethernet carrier, frame rate, source IP address, MTU size.</doc>
<status status="FAIL" endtime="20240829 09:45:39.210" starttime="20240829 09:45:39.207">Variable '@{vla_antennas}' not found.</status>
</test>
<test id="s1-t7" name="check node health">
<for flavor="IN">
<var>${vla_antenna}</var>
<value>@{vla_antennas}</value>
<msg timestamp="20240829 09:45:39.212" level="FAIL">Variable '@{vla_antennas}' not found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.213" starttime="20240829 09:45:39.211"/>
</for>
<doc>Ensure VLITE buffer is running, node is not overburdened.</doc>
<status status="FAIL" endtime="20240829 09:45:39.213" starttime="20240829 09:45:39.210">Variable '@{vla_antennas}' not found.</status>
</test>
<test id="s1-t8" name="verify vdif epoch">
<for flavor="IN">
<var>${vla_antenna}</var>
<value>@{vla_antennas}</value>
<msg timestamp="20240829 09:45:39.216" level="FAIL">Variable '@{vla_antennas}' not found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.216" starttime="20240829 09:45:39.215"/>
</for>
<doc>Ensure VDIF epoch is correct.</doc>
<status status="FAIL" endtime="20240829 09:45:39.217" starttime="20240829 09:45:39.214">Variable '@{vla_antennas}' not found.</status>
</test>
<test id="s1-t9" name="examine module health">
<for flavor="IN">
<var>${vla_antenna}</var>
<value>@{vla_antennas}</value>
<msg timestamp="20240829 09:45:39.220" level="FAIL">Variable '@{vla_antennas}' not found.</msg>
<status status="FAIL" endtime="20240829 09:45:39.220" starttime="20240829 09:45:39.219"/>
</for>
<doc>Examine D306 parameters including timecode lock, timecode interval,
delta T, requantizer gains, SFP, ETH, MAC, ADC status, FPGA
status, transmit enabled.</doc>
<status status="FAIL" endtime="20240829 09:45:39.221" starttime="20240829 09:45:39.218">Variable '@{vla_antennas}' not found.</status>
</test>
<doc>Automated VLITE Health evaluation</doc>
<status status="FAIL" endtime="20240829 09:45:39.222" starttime="20240829 09:45:39.050"/>
</suite>
<statistics>
<total>
<stat fail="9" skip="0" pass="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat fail="9" skip="0" id="s1" name="Vlite Health" pass="0">Vlite Health</stat>
</suite>
</statistics>
<errors>
<msg timestamp="20240829 09:45:39.153" level="ERROR">Error in file '/users/merwin/vlite/health_report/diag_robot/vlite_health.robot' on line 5: Importing library '/users/merwin/vlite/health_report/diag_robot/VliteLib.py' failed: ImportError: No module named pandas
Traceback (most recent call last):
  File "/users/merwin/vlite/health_report/diag_robot/VliteLib.py", line 1, in &lt;module&gt;
    import config_file
  File "/users/merwin/vlite/health_report/diag_robot/config_file.py", line 1, in &lt;module&gt;
    import pandas as pd
PYTHONPATH:
  /users/merwin/.local/lib/python3.8/site-packages
  /users/merwin/.local/lib/python3.8/site-packages/robot/
  /usr/lib64/python27.zip
  /usr/lib64/python2.7
  /usr/lib64/python2.7/plat-linux2
  /usr/lib64/python2.7/lib-tk
  /usr/lib64/python2.7/lib-old
  /usr/lib64/python2.7/lib-dynload
  /usr/lib64/python2.7/site-packages
  /usr/lib64/python2.7/site-packages/gtk-2.0
  /usr/lib/python2.7/site-packages</msg>
</errors>
</robot>
