diff --git a/tangostationcontrol/tangostationcontrol/devices/README.md b/tangostationcontrol/tangostationcontrol/devices/README.md index d7c5a64a95fa9f43c7a2524a71cf1379e6527341..4b7923faf4804b6fc0e33ab78d4765f16860e253 100644 --- a/tangostationcontrol/tangostationcontrol/devices/README.md +++ b/tangostationcontrol/tangostationcontrol/devices/README.md @@ -18,3 +18,4 @@ If a new device is added, it will (likely) need to be referenced in several plac - Add to `tangostationcontrol/docs/source/devices/` to mention the device in the end-user documentation. - Adjust `tangostationcontrol/docs/source/index.rst` to include the newly created file in `docs/source/devices/`. - Adjust `docker-compose/tango-prometheus-exporter/lofar2-policy.json` to include this device in the prometheus exporter +- Adjust `tangostationcontrol/tangostationcontrol/devices/docker_device.py` to have the device container available as R and RW attributes. diff --git a/tangostationcontrol/tangostationcontrol/devices/docker_device.py b/tangostationcontrol/tangostationcontrol/devices/docker_device.py index b98bf53e95c65a12c5cdbc224f43d4acd674f4de..8ee1301c6eeb89d91fa166bc4691a9d84b0bb77a 100644 --- a/tangostationcontrol/tangostationcontrol/devices/docker_device.py +++ b/tangostationcontrol/tangostationcontrol/devices/docker_device.py @@ -43,30 +43,60 @@ class Docker(lofar_device): # ---------- # Attributes # ---------- - archiver_timescale_R = attribute_wrapper(comms_annotation={"container": "archiver-timescale"}, datatype=bool) - archiver_timescale_RW = attribute_wrapper(comms_annotation={"container": "archiver-timescale"}, datatype=bool, access=AttrWriteType.READ_WRITE) - databaseds_R = attribute_wrapper(comms_annotation={"container": "databaseds"}, datatype=bool) - databaseds_RW = attribute_wrapper(comms_annotation={"container": "databaseds"}, datatype=bool, access=AttrWriteType.READ_WRITE) + + # Software devices + device_boot_R = attribute_wrapper(comms_annotation={"container": "device-boot"}, datatype=bool) + device_boot_RW = attribute_wrapper(comms_annotation={"container": "device-boot"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_docker_R = attribute_wrapper(comms_annotation={"container": "device-docker"}, datatype=bool) + # device_docker_RW is not available, as we cannot start our own container` + device_temperature_manager_R = attribute_wrapper(comms_annotation={"container": "device-temperature-manager"}, datatype=bool) + device_temperature_manager_RW = attribute_wrapper(comms_annotation={"container": "device-temperature-manager"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_observation_R = attribute_wrapper(comms_annotation={"container": "device-observation"}, datatype=bool) + device_observation_RW = attribute_wrapper(comms_annotation={"container": "device-observation"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_observation_control_R = attribute_wrapper(comms_annotation={"container": "device-observation-control"}, datatype=bool) + device_observation_control_RW = attribute_wrapper(comms_annotation={"container": "device-observation-control"}, datatype=bool, access=AttrWriteType.READ_WRITE) + + # Hardware devices device_apsct_R = attribute_wrapper(comms_annotation={"container": "device-apsct"}, datatype=bool) device_apsct_RW = attribute_wrapper(comms_annotation={"container": "device-apsct"}, datatype=bool, access=AttrWriteType.READ_WRITE) device_apspu_R = attribute_wrapper(comms_annotation={"container": "device-apspu"}, datatype=bool) device_apspu_RW = attribute_wrapper(comms_annotation={"container": "device-apspu"}, datatype=bool, access=AttrWriteType.READ_WRITE) - device_beam_R = attribute_wrapper(comms_annotation={"container": "device-beam"}, datatype=bool) - device_beam_RW = attribute_wrapper(comms_annotation={"container": "device-beam"}, datatype=bool, access=AttrWriteType.READ_WRITE) - device_boot_R = attribute_wrapper(comms_annotation={"container": "device-boot"}, datatype=bool) - device_boot_RW = attribute_wrapper(comms_annotation={"container": "device-boot"}, datatype=bool, access=AttrWriteType.READ_WRITE) device_recv_R = attribute_wrapper(comms_annotation={"container": "device-recv"}, datatype=bool) device_recv_RW = attribute_wrapper(comms_annotation={"container": "device-recv"}, datatype=bool, access=AttrWriteType.READ_WRITE) device_sdp_R = attribute_wrapper(comms_annotation={"container": "device-sdp"}, datatype=bool) device_sdp_RW = attribute_wrapper(comms_annotation={"container": "device-sdp"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_unb2_R = attribute_wrapper(comms_annotation={"container": "device-unb2"}, datatype=bool) + device_unb2_RW = attribute_wrapper(comms_annotation={"container": "device-unb2"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_pcon_R = attribute_wrapper(comms_annotation={"container": "device-pcon"}, datatype=bool) + device_pcon_RW = attribute_wrapper(comms_annotation={"container": "device-pcon"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_psoc_R = attribute_wrapper(comms_annotation={"container": "device-psoc"}, datatype=bool) + device_psoc_RW = attribute_wrapper(comms_annotation={"container": "device-psoc"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_ccd_R = attribute_wrapper(comms_annotation={"container": "device-ccd"}, datatype=bool) + device_ccd_RW = attribute_wrapper(comms_annotation={"container": "device-ccd"}, datatype=bool, access=AttrWriteType.READ_WRITE) + + # Statistics devices device_sst_R = attribute_wrapper(comms_annotation={"container": "device-sst"}, datatype=bool) device_sst_RW = attribute_wrapper(comms_annotation={"container": "device-sst"}, datatype=bool, access=AttrWriteType.READ_WRITE) device_xst_R = attribute_wrapper(comms_annotation={"container": "device-xst"}, datatype=bool) device_xst_RW = attribute_wrapper(comms_annotation={"container": "device-xst"}, datatype=bool, access=AttrWriteType.READ_WRITE) - device_unb2_R = attribute_wrapper(comms_annotation={"container": "device-unb2"}, datatype=bool) - device_unb2_RW = attribute_wrapper(comms_annotation={"container": "device-unb2"}, datatype=bool, access=AttrWriteType.READ_WRITE) - device_docker_R = attribute_wrapper(comms_annotation={"container": "device-docker"}, datatype=bool) - # device_docker_RW is not available, as we cannot start our own container` + device_bst_R = attribute_wrapper(comms_annotation={"container": "device-bst"}, datatype=bool) + device_bst_RW = attribute_wrapper(comms_annotation={"container": "device-bst"}, datatype=bool, access=AttrWriteType.READ_WRITE) + + # Beam devices + device_antennafield_R = attribute_wrapper(comms_annotation={"container": "device-antennafield"}, datatype=bool) + device_antennafield_RW = attribute_wrapper(comms_annotation={"container": "device-antennafield"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_beamlet_R = attribute_wrapper(comms_annotation={"container": "device-beamlet"}, datatype=bool) + device_beamlet_RW = attribute_wrapper(comms_annotation={"container": "device-beamlet"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_digitalbeam_R = attribute_wrapper(comms_annotation={"container": "device-digitalbeam"}, datatype=bool) + device_digitalbeam_RW = attribute_wrapper(comms_annotation={"container": "device-digitalbeam"}, datatype=bool, access=AttrWriteType.READ_WRITE) + device_tilebeam_R = attribute_wrapper(comms_annotation={"container": "device-tilebeam"}, datatype=bool) + device_tilebeam_RW = attribute_wrapper(comms_annotation={"container": "device-tilebeam"}, datatype=bool, access=AttrWriteType.READ_WRITE) + + # Other containers + archiver_timescale_R = attribute_wrapper(comms_annotation={"container": "archiver-timescale"}, datatype=bool) + archiver_timescale_RW = attribute_wrapper(comms_annotation={"container": "archiver-timescale"}, datatype=bool, access=AttrWriteType.READ_WRITE) + databaseds_R = attribute_wrapper(comms_annotation={"container": "databaseds"}, datatype=bool) + databaseds_RW = attribute_wrapper(comms_annotation={"container": "databaseds"}, datatype=bool, access=AttrWriteType.READ_WRITE) dsconfig_R = attribute_wrapper(comms_annotation={"container": "dsconfig"}, datatype=bool) dsconfig_RW = attribute_wrapper(comms_annotation={"container": "dsconfig"}, datatype=bool, access=AttrWriteType.READ_WRITE) elk_R = attribute_wrapper(comms_annotation={"container": "elk"}, datatype=bool) @@ -81,12 +111,14 @@ class Docker(lofar_device): itango_RW = attribute_wrapper(comms_annotation={"container": "itango"}, datatype=bool, access=AttrWriteType.READ_WRITE) jupyter_R = attribute_wrapper(comms_annotation={"container": "jupyter"}, datatype=bool) jupyter_RW = attribute_wrapper(comms_annotation={"container": "jupyter"}, datatype=bool, access=AttrWriteType.READ_WRITE) - prometheus_R = attribute_wrapper(comms_annotation={"container": "prometheus"}, datatype=bool) - prometheus_RW = attribute_wrapper(comms_annotation={"container": "prometheus"}, datatype=bool, access=AttrWriteType.READ_WRITE) tangodb_R = attribute_wrapper(comms_annotation={"container": "tangodb"}, datatype=bool) tangodb_RW = attribute_wrapper(comms_annotation={"container": "tangodb"}, datatype=bool, access=AttrWriteType.READ_WRITE) + prometheus_R = attribute_wrapper(comms_annotation={"container": "prometheus"}, datatype=bool) + prometheus_RW = attribute_wrapper(comms_annotation={"container": "prometheus"}, datatype=bool, access=AttrWriteType.READ_WRITE) tango_prometheus_exporter_R = attribute_wrapper(comms_annotation={"container": "tango-prometheus-exporter"}, datatype=bool) tango_prometheus_exporter_RW = attribute_wrapper(comms_annotation={"container": "tango-prometheus-exporter"}, datatype=bool, access=AttrWriteType.READ_WRITE) + prometheus_node_exporter_R = attribute_wrapper(comms_annotation={"container": "prometheus-node-exporter"}, datatype=bool) + prometheus_node_exporter_RW = attribute_wrapper(comms_annotation={"container": "prometheus-node-exporter"}, datatype=bool, access=AttrWriteType.READ_WRITE) tango_rest_R = attribute_wrapper(comms_annotation={"container": "tango-rest"}, datatype=bool) tango_rest_RW = attribute_wrapper(comms_annotation={"container": "tango-rest"}, datatype=bool, access=AttrWriteType.READ_WRITE)