diff --git a/devices/devices/docker_device.py b/devices/devices/docker_device.py index 661bd2de61560b73ba20ead456e6c9dfbe3b719a..5ff0ec366c436a2dfc75d4cd479219a04c6938d3 100644 --- a/devices/devices/docker_device.py +++ b/devices/devices/docker_device.py @@ -68,8 +68,8 @@ class Docker(hardware_device): archiver_maria_db_RW = attribute_wrapper(comms_annotation={"container": "archiver-maria-db"}, datatype=numpy.bool_, access=AttrWriteType.READ_WRITE) databaseds_R = attribute_wrapper(comms_annotation={"container": "databaseds"}, datatype=numpy.bool_) databaseds_RW = attribute_wrapper(comms_annotation={"container": "databaseds"}, datatype=numpy.bool_, access=AttrWriteType.READ_WRITE) - device_pcc_R = attribute_wrapper(comms_annotation={"container": "device-pcc"}, datatype=numpy.bool_) - device_pcc_RW = attribute_wrapper(comms_annotation={"container": "device-pcc"}, datatype=numpy.bool_, access=AttrWriteType.READ_WRITE) + device_recv_R = attribute_wrapper(comms_annotation={"container": "device-recv"}, datatype=numpy.bool_) + device_recv_RW = attribute_wrapper(comms_annotation={"container": "device-recv"}, datatype=numpy.bool_, access=AttrWriteType.READ_WRITE) device_sdp_R = attribute_wrapper(comms_annotation={"container": "device-sdp"}, datatype=numpy.bool_) device_sdp_RW = attribute_wrapper(comms_annotation={"container": "device-sdp"}, datatype=numpy.bool_, access=AttrWriteType.READ_WRITE) device_sst_R = attribute_wrapper(comms_annotation={"container": "device-sst"}, datatype=numpy.bool_) diff --git a/docker-compose/device-docker.yml b/docker-compose/device-docker.yml index 24ac07b64e85d3e96de7c568317b4c66d2f22f7f..7ed5ecf40dd02a0a9d39941c144dc9958e2ed794 100644 --- a/docker-compose/device-docker.yml +++ b/docker-compose/device-docker.yml @@ -25,7 +25,7 @@ services: networks: - control ports: - - "5707:5707" # unique port for this DS + - "5705:5705" # unique port for this DS volumes: - ${TANGO_LOFAR_CONTAINER_MOUNT} - /var/run/docker.sock:/var/run/docker.sock:rw # we want to control our sibling containers, NOT do docker-in-docker (dind) @@ -40,5 +40,5 @@ services: - -- # configure CORBA to _listen_ on 0:port, but tell others we're _reachable_ through ${HOSTNAME}:port, since CORBA # can't know about our Docker port forwarding - - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/docker_device.py LTS -v -ORBendPoint giop:tcp:0:5707 -ORBendPointPublish giop:tcp:${HOSTNAME}:5707 + - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/docker_device.py LTS -v -ORBendPoint giop:tcp:0:5705 -ORBendPointPublish giop:tcp:${HOSTNAME}:5705 restart: on-failure diff --git a/jupyter-notebooks/Docker_notebook.ipynb b/jupyter-notebooks/Docker_notebook.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..facc20c3e1e1d561504ef09b08e2e78296d0fb39 --- /dev/null +++ b/jupyter-notebooks/Docker_notebook.ipynb @@ -0,0 +1,139 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "waiting-chance", + "metadata": {}, + "outputs": [], + "source": [ + "import time" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "moving-alexandria", + "metadata": {}, + "outputs": [], + "source": [ + "d=DeviceProxy(\"LTS/Docker/1\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ranking-aluminum", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Device is now in on state\n" + ] + } + ], + "source": [ + "state = str(d.state())\n", + "\n", + "\n", + "if state == \"OFF\" or state == \"FAULT\":\n", + " d.initialise()\n", + " time.sleep(1)\n", + "state = str(d.state())\n", + "if state == \"STANDBY\":\n", + " d.on()\n", + "state = str(d.state())\n", + "if state == \"ON\":\n", + " print(\"Device is now in on state\")\n", + "else:\n", + " print(\"warning, expected device to be in on state, is: \", state)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0caa8146", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "version_R *L2SS-379-docker-device [0c12e90b1c311df82edf9ebd0b0e9a3a530f0a81]\n", + "archiver_maria_db_R True\n", + "archiver_maria_db_RW False\n", + "databaseds_R True\n", + "databaseds_RW False\n", + "device_recv_R False\n", + "device_recv_RW False\n", + "device_sdp_R True\n", + "device_sdp_RW False\n", + "device_sst_R True\n", + "device_sst_RW False\n", + "device_xst_R False\n", + "device_xst_RW False\n", + "device_unb2_R True\n", + "device_unb2_RW False\n", + "device_docker_R True\n", + "dsconfig_R True\n", + "dsconfig_RW False\n", + "elk_R True\n", + "elk_RW False\n", + "grafana_R True\n", + "grafana_RW False\n", + "hdbpp_cm_R True\n", + "hdbpp_cm_RW False\n", + "hdbpp_es_R True\n", + "hdbpp_es_RW False\n", + "itango_R True\n", + "itango_RW False\n", + "jupyter_R True\n", + "jupyter_RW False\n", + "prometheus_R True\n", + "prometheus_RW False\n", + "tangodb_R True\n", + "tangodb_RW False\n", + "tango_prometheus_exporter_R False\n", + "tango_prometheus_exporter_RW False\n", + "tango_rest_R True\n", + "tango_rest_RW False\n", + "State <function __get_command_func.<locals>.f at 0x7f84a8b4fb70>\n", + "Status <function __get_command_func.<locals>.f at 0x7f84a8b4fb70>\n" + ] + } + ], + "source": [ + "attr_names = d.get_attribute_list()\n", + "\n", + "\n", + "for i in attr_names:\n", + " exec(\"value = print(i, d.{})\".format(i))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "StationControl", + "language": "python", + "name": "stationcontrol" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}