A Guardian top node as been added to H1: IFO:
(The node should now be visible in the GUARD_OVERVIEW MEDM screen.)
ifo: H1
name: IFO
CA prefix:
module:
/opt/rtcds/userapps/release/sys/common/guardian/IFO.py
usercode:
/opt/rtcds/userapps/release/sys/h1/guardian/IFO_NODE_LIST.py
nominal state: ALL_NODES_OK
initial request: ALL_NODES_OK
states (*=requestable):
50 * ALL_NODES_OK
20 WAITING_FOR_NODES_OK
10 NODE_FAULT
0 INIT
The node is monitor only; it only monitors the status of all other nodes in the system. This is based on the system previously deployed at L1.
The sole purpose of this node is to report on the full status of the guardian system. This is done via the node OK channel, and is defined similarly to L1:
The check is essentially that all nodes in the system are themselves reporting OK == True, e.g.:
self['OK'] = self['OP'] == 'EXEC'
and
self['MODE'] in ['AUTO', 'MANAGED']
and
self['REQUEST'] == self['NOMINAL']
and
self['STATE'] == self['NOMINAL']
and
self['STATUS'] == 'DONE'
and
not self['ERROR']
and
self['CONNECT'] == 'OK'
In other words, all nodes are running as expected, are not in error, and their STATE and REQUEST are equal to the NOMINAL state.
The list of nodes being monitored is currently stored at:
/opt/rtcds/userapps/release/sys/h1/guardian/IFO_NODE_LIST.py
The list currently includes:
NOTE: the nodes without NOMINAL states defined will prevent the IFO node from ever becoming OK. We need to either define NOMINAL states for these nodes, or temporarily remove them from the list of monitored nodes.