diff --git a/bootstrap/etc/lofar20rc.sh b/bootstrap/etc/lofar20rc.sh index 383d40f7385085e3618edce20f69c1fbda8817e4..e3bc4ac1e71c43a92a5b7f2ee8f05339b92edeaf 100755 --- a/bootstrap/etc/lofar20rc.sh +++ b/bootstrap/etc/lofar20rc.sh @@ -12,14 +12,6 @@ ABSOLUTE_PATH=$(realpath $(dirname ${BASH_SOURCE})) export LOFAR20_DIR=${1:-$(realpath ${ABSOLUTE_PATH}/../..)} -# This needs to be modified for a development environment. -# Example: ~/lofar2.0/tango -# The current setting is for a production environment. -export TANGO_LOFAR_LOCAL_DIR=${LOFAR20_DIR}/ - -# Optionally, the LOFAR code can be mounted elsewhere -#export TANGO_LOFAR_CONTAINER_DIR=/opt/lofar2.0/tango/ - # This needs to be modified for a development environment. # In case you run multiple Docker networks on the same host in parallel, you need to specify a unique # network name for each of them. diff --git a/docker-compose/Makefile b/docker-compose/Makefile index 51d3ae08ac241701b3fe130bb514afb3fceb7ed3..35c4a2f4e6d379eb9a6eb206c450a6d3ab3175d0 100644 --- a/docker-compose/Makefile +++ b/docker-compose/Makefile @@ -1,11 +1,3 @@ -# Before doing anything, make 100% certain that all necessary environment -# variables are set. -ifndef TANGO_LOFAR_LOCAL_DIR - # Generate the full path to the lofar20rc.sh file - # for exactly this repository. - LOFAR20RC = $(subst docker-compose,bootstrap/etc/lofar20rc.sh,$(abspath .)) - $(error There are essential LOFAR2.0 environment variables missing. You must source the lofar20rc.sh file of this repo first. You can do it like this (paste without quotes): ". $(LOFAR20RC)") -endif # Set dir of Makefile to a variable to use later MAKEPATH := $(abspath $(lastword $(MAKEFILE_LIST))) BASEDIR := $(notdir $(patsubst %/,%,$(dir $(MAKEPATH)))) @@ -24,10 +16,6 @@ NETWORK_MODE ?= tangonet # Host name through which others can reach our control interfaces HOSTNAME ?= $(shell hostname -f) -# Default container dir & mount -TANGO_LOFAR_CONTAINER_DIR ?= /opt/lofar2.0/tango -TANGO_LOFAR_CONTAINER_MOUNT ?= ${TANGO_LOFAR_LOCAL_DIR}:$(TANGO_LOFAR_CONTAINER_DIR):rw - # If the first make argument is "start" or "stop"... ifeq (start,$(firstword $(MAKECMDGOALS))) SERVICE_TARGET = true @@ -121,8 +109,6 @@ DOCKER_COMPOSE_ARGS := DISPLAY=$(DISPLAY) \ HOSTNAME=$(HOSTNAME) \ NETWORK_MODE=$(NETWORK_MODE) \ XAUTHORITY_MOUNT=$(XAUTHORITY_MOUNT) \ - TANGO_LOFAR_CONTAINER_MOUNT=$(TANGO_LOFAR_CONTAINER_MOUNT) \ - TANGO_LOFAR_CONTAINER_DIR=$(TANGO_LOFAR_CONTAINER_DIR) MYSQL_HOST=$(MYSQL_HOST) \ CONTAINER_NAME_PREFIX=$(CONTAINER_NAME_PREFIX) \ COMPOSE_IGNORE_ORPHANS=true \ CONTAINER_EXECUTION_UID=$(shell id -u) \ @@ -163,7 +149,7 @@ endif $(DOCKER_COMPOSE_ARGS) docker-compose -f tango.yml -f networks.yml up -d start: up ## start a service (usage: make start <servicename>) - if [ $(UNAME_S) = Linux ]; then chmod a+r ~/.Xauthority; fi + if [ $(UNAME_S) = Linux ]; then touch ~/.Xauthority; chmod a+r ~/.Xauthority; fi $(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) start $(SERVICE) stop: ## stop a service (usage: make stop <servicename>) diff --git a/docker-compose/archiver.yml b/docker-compose/archiver.yml index 5204b52c0ffd05fcee800d0f7faebc9345628a48..8a357d371e89377a1bfa2ce89e341ba708526fef 100644 --- a/docker-compose/archiver.yml +++ b/docker-compose/archiver.yml @@ -70,7 +70,7 @@ services: json2tango -w -a -u /tango-archiver/data/archiver-devices.json && sleep infinity" volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw - ${HOME}:/hosthome - ../docker/tango/tango-archiver:/tango-archiver restart: on-failure diff --git a/docker-compose/device-docker.yml b/docker-compose/device-docker.yml index 7ed5ecf40dd02a0a9d39941c144dc9958e2ed794..6cf76c650df4b37f204260fa38b2750ff2bb95b0 100644 --- a/docker-compose/device-docker.yml +++ b/docker-compose/device-docker.yml @@ -27,7 +27,7 @@ services: ports: - "5705:5705" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw - /var/run/docker.sock:/var/run/docker.sock:rw # we want to control our sibling containers, NOT do docker-in-docker (dind) user: ${CONTAINER_EXECUTION_UID}:${DOCKER_GID} # user that starts this container by definition has access rights to docker environment: @@ -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:5705 -ORBendPointPublish giop:tcp:${HOSTNAME}:5705 + - python3 -u /opt/lofar/tango/devices/devices/docker_device.py LTS -v -ORBendPoint giop:tcp:0:5705 -ORBendPointPublish giop:tcp:${HOSTNAME}:5705 restart: on-failure diff --git a/docker-compose/device-observation_control.yml b/docker-compose/device-observation_control.yml index c3cbb19d6bcf331b9ce96fccb74c9d0d6f76b758..011fe0a94112df557670a218518b6492520f4480 100644 --- a/docker-compose/device-observation_control.yml +++ b/docker-compose/device-observation_control.yml @@ -26,7 +26,7 @@ services: ports: - "5703:5703" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} entrypoint: @@ -37,5 +37,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/observation_control.py LTS -v -ORBendPoint giop:tcp:0:5703 -ORBendPointPublish giop:tcp:${HOSTNAME}:5703 + - python3 -u /opt/lofar/tango/devices/devices/observation_control.py LTS -v -ORBendPoint giop:tcp:0:5703 -ORBendPointPublish giop:tcp:${HOSTNAME}:5703 restart: on-failure diff --git a/docker-compose/device-recv.yml b/docker-compose/device-recv.yml index f553ba61476557fdeef1cdd3757d96184e8a5c76..fdf8a535b002d629b29ee48b49b9ee91d8e925d7 100644 --- a/docker-compose/device-recv.yml +++ b/docker-compose/device-recv.yml @@ -27,7 +27,7 @@ services: ports: - "5707:5707" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} entrypoint: @@ -38,5 +38,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/recv.py LTS -v -ORBendPoint giop:tcp:0:5707 -ORBendPointPublish giop:tcp:${HOSTNAME}:5707 + - python3 -u /opt/lofar/tango/devices/devices/recv.py LTS -v -ORBendPoint giop:tcp:0:5707 -ORBendPointPublish giop:tcp:${HOSTNAME}:5707 restart: on-failure diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml index a65bb8ae3e3111ad6c2954b44b9c20a6e8085321..cdd8d137d6f249ef91e500dd4b9bb32734b23c90 100644 --- a/docker-compose/device-sdp.yml +++ b/docker-compose/device-sdp.yml @@ -27,7 +27,7 @@ services: ports: - "5701:5701" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} entrypoint: @@ -38,5 +38,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/sdp/sdp.py LTS -v -ORBendPoint giop:tcp:0:5701 -ORBendPointPublish giop:tcp:${HOSTNAME}:5701 + - python3 -u /opt/lofar/tango/devices/devices/sdp/sdp.py LTS -v -ORBendPoint giop:tcp:0:5701 -ORBendPointPublish giop:tcp:${HOSTNAME}:5701 restart: on-failure diff --git a/docker-compose/device-sst.yml b/docker-compose/device-sst.yml index a7f2e867bc4075d002d764189ef3906ff81fb12a..a9547f53830a564eeba6c9123c753c0062d1da30 100644 --- a/docker-compose/device-sst.yml +++ b/docker-compose/device-sst.yml @@ -30,7 +30,7 @@ services: - "5101:5101/tcp" # port to emit SST TCP packets on - "5702:5702" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} entrypoint: @@ -41,5 +41,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/sdp/sst.py LTS -v -ORBendPoint giop:tcp:0:5702 -ORBendPointPublish giop:tcp:${HOSTNAME}:5702 + - python3 -u /opt/lofar/tango/devices/devices/sdp/sst.py LTS -v -ORBendPoint giop:tcp:0:5702 -ORBendPointPublish giop:tcp:${HOSTNAME}:5702 restart: on-failure diff --git a/docker-compose/device-unb2.yml b/docker-compose/device-unb2.yml index f41651c95c4bb0677b81fa9a8f4b717144bc0828..67c443121cf02bc9c1652978b1dd67a5ebf3a80b 100644 --- a/docker-compose/device-unb2.yml +++ b/docker-compose/device-unb2.yml @@ -27,7 +27,7 @@ services: ports: - "5704:5704" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} entrypoint: @@ -38,5 +38,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/unb2.py LTS -v -ORBendPoint giop:tcp:0:5704 -ORBendPointPublish giop:tcp:${HOSTNAME}:5704 + - python3 -u /opt/lofar/tango/devices/devices/unb2.py LTS -v -ORBendPoint giop:tcp:0:5704 -ORBendPointPublish giop:tcp:${HOSTNAME}:5704 restart: on-failure diff --git a/docker-compose/device-xst.yml b/docker-compose/device-xst.yml index 8b0ba2d77cffe33caf4130f29ee83e1db1911f2b..1f75009dc6042b83aff706e34a811c1023f532b0 100644 --- a/docker-compose/device-xst.yml +++ b/docker-compose/device-xst.yml @@ -30,7 +30,7 @@ services: - "5102:5102/tcp" # port to emit XST TCP packets on - "5706:5706" # unique port for this DS volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} entrypoint: @@ -41,5 +41,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/sdp/xst.py LTS -v -ORBendPoint giop:tcp:0:5706 -ORBendPointPublish giop:tcp:${HOSTNAME}:5706 + - python3 -u /opt/lofar/tango/devices/devices/sdp/xst.py LTS -v -ORBendPoint giop:tcp:0:5706 -ORBendPointPublish giop:tcp:${HOSTNAME}:5706 restart: on-failure diff --git a/docker-compose/integration-test.yml b/docker-compose/integration-test.yml index e6a0e54939179ba0c4f5b043da3191dd9e11945d..239dce0235dcd2b2a6a2a731f373e84c49ea671b 100644 --- a/docker-compose/integration-test.yml +++ b/docker-compose/integration-test.yml @@ -16,10 +16,10 @@ services: networks: - control volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw environment: - TANGO_HOST=${TANGO_HOST} - working_dir: ${TANGO_LOFAR_CONTAINER_DIR}/devices + working_dir: /opt/lofar/tango/devices entrypoint: - /usr/local/bin/wait-for-it.sh - ${TANGO_HOST} diff --git a/docker-compose/itango.yml b/docker-compose/itango.yml index 34161eb43f752716f28d44170898d94c4b6d76cd..5b0874f2f3c936c1b57915580ac79be81b5edcb9 100644 --- a/docker-compose/itango.yml +++ b/docker-compose/itango.yml @@ -22,7 +22,7 @@ services: networks: - control volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw - ${HOME}:/hosthome environment: - TANGO_HOST=${TANGO_HOST} diff --git a/docker-compose/jive.yml b/docker-compose/jive.yml index b810073e6a2ddf691b88a47c2d805331605379e8..456ae1fc96771bad1ab6b99e52e3b0c9c046c20c 100644 --- a/docker-compose/jive.yml +++ b/docker-compose/jive.yml @@ -23,7 +23,7 @@ services: network_mode: host volumes: - ${XAUTHORITY_MOUNT} - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw - ${HOME}:/hosthome environment: - XAUTHORITY=${XAUTHORITY} diff --git a/docker-compose/jupyter.yml b/docker-compose/jupyter.yml index 989601cf8d858f493ba47ed607a9e4cd5a6d2770..d71ba654a43e213f1f0b131c345ab9a3dc921d3c 100644 --- a/docker-compose/jupyter.yml +++ b/docker-compose/jupyter.yml @@ -20,7 +20,7 @@ services: networks: - control volumes: - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw - ${TANGO_LOFAR_LOCAL_DIR}/jupyter-notebooks:/jupyter-notebooks:rw - ${HOME}:/hosthome environment: diff --git a/docker-compose/pogo.yml b/docker-compose/pogo.yml index 2029874a5247ead93054a6f83e8185ea01be2487..826daac9fbd6ef3226a690832eedab505bbeaba3 100644 --- a/docker-compose/pogo.yml +++ b/docker-compose/pogo.yml @@ -27,7 +27,7 @@ services: volumes: - pogo:/home/tango - ${XAUTHORITY_MOUNT} - - ${TANGO_LOFAR_CONTAINER_MOUNT} + - ..:/opt/lofar/tango:rw - ${HOME}:/hosthome:rw environment: - XAUTHORITY=${XAUTHORITY}