Skip to content
Snippets Groups Projects
Commit e676d47d authored by Jan David Mol's avatar Jan David Mol
Browse files

Use an additional MTU=9000 network to receive UDP through, because our data...

Use an additional MTU=9000 network to receive UDP through, because our data packets are >1500. The new network needs a name alphabetically before NETWORK_MODE to force Docker to use that to expose our ports on.
parent 2af22e10
No related branches found
No related tags found
1 merge request!63L2SS-278: Fix UDP routing by adding a MTU=9000 network
Showing
with 74 additions and 24 deletions
...@@ -124,13 +124,15 @@ down: ## stop all services and tear down the system ...@@ -124,13 +124,15 @@ down: ## stop all services and tear down the system
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) down $(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) down
ifneq ($(NETWORK_MODE),host) ifneq ($(NETWORK_MODE),host)
docker network inspect $(NETWORK_MODE) &> /dev/null && ([ $$? -eq 0 ] && docker network rm $(NETWORK_MODE)) || true docker network inspect $(NETWORK_MODE) &> /dev/null && ([ $$? -eq 0 ] && docker network rm $(NETWORK_MODE)) || true
docker network inspect 9000-$(NETWORK_MODE) &> /dev/null && ([ $$? -eq 0 ] && docker network rm 9000-$(NETWORK_MODE)) || true
endif endif
minimal: ## start the base TANGO system minimal: ## start the base TANGO system
ifneq ($(NETWORK_MODE),host) ifneq ($(NETWORK_MODE),host)
docker network inspect $(NETWORK_MODE) &> /dev/null || ([ $$? -ne 0 ] && docker network create $(NETWORK_MODE)) docker network inspect $(NETWORK_MODE) &> /dev/null || ([ $$? -ne 0 ] && docker network create $(NETWORK_MODE))
docker network inspect 9000-$(NETWORK_MODE) &> /dev/null || ([ $$? -ne 0 ] && docker network create 9000-$(NETWORK_MODE) -o com.docker.network.driver.mtu=9000)
endif endif
$(DOCKER_COMPOSE_ARGS) docker-compose -f tango.yml up -d $(DOCKER_COMPOSE_ARGS) docker-compose -f tango.yml -f networks.yml up -d
start: up ## start a service (usage: make start <servicename>) start: up ## start a service (usage: make start <servicename>)
if [ $(UNAME_S) = Linux ]; then chmod a+r ~/.Xauthority; fi if [ $(UNAME_S) = Linux ]; then chmod a+r ~/.Xauthority; fi
......
...@@ -4,7 +4,8 @@ services: ...@@ -4,7 +4,8 @@ services:
archiver-maria-db: archiver-maria-db:
image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/mariadb_hdbpp:2021-05-28 image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/mariadb_hdbpp:2021-05-28
container_name: archiver-maria-db container_name: archiver-maria-db
network_mode: ${NETWORK_MODE} networks:
- control
depends_on: depends_on:
- databaseds - databaseds
environment: environment:
...@@ -18,7 +19,8 @@ services: ...@@ -18,7 +19,8 @@ services:
hdbpp-es: hdbpp-es:
image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-archiver:2021-05-28 image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-archiver:2021-05-28
network_mode: ${NETWORK_MODE} networks:
- control
container_name: hdbpp-es container_name: hdbpp-es
depends_on: depends_on:
- databaseds - databaseds
...@@ -35,7 +37,8 @@ services: ...@@ -35,7 +37,8 @@ services:
hdbpp-cm: hdbpp-cm:
image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-archiver:2021-05-28 image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-archiver:2021-05-28
network_mode: ${NETWORK_MODE} networks:
- control
container_name: hdbpp-cm container_name: hdbpp-cm
depends_on: depends_on:
- databaseds - databaseds
...@@ -53,7 +56,8 @@ services: ...@@ -53,7 +56,8 @@ services:
dsconfig: dsconfig:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-dsconfig:1.5.0.6 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-dsconfig:1.5.0.6
container_name: dsconfig container_name: dsconfig
network_mode: ${NETWORK_MODE} networks:
- control
depends_on: depends_on:
- databaseds - databaseds
environment: environment:
......
...@@ -15,7 +15,8 @@ services: ...@@ -15,7 +15,8 @@ services:
astor: astor:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:9.3.3.2 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:9.3.3.2
container_name: ${CONTAINER_NAME_PREFIX}astor container_name: ${CONTAINER_NAME_PREFIX}astor
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${XAUTHORITY_MOUNT} - ${XAUTHORITY_MOUNT}
environment: environment:
...@@ -33,7 +34,8 @@ services: ...@@ -33,7 +34,8 @@ services:
starter-example: starter-example:
image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-starter:2021-05-28 image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-starter:2021-05-28
container_name: ${CONTAINER_NAME_PREFIX}starter-example container_name: ${CONTAINER_NAME_PREFIX}starter-example
network_mode: ${NETWORK_MODE} networks:
- control
# set the hostname, otherwise duplicate device registrations result every # set the hostname, otherwise duplicate device registrations result every
# time the hostname changes as the container is restarted. # time the hostname changes as the container is restarted.
hostname: starter-example hostname: starter-example
......
...@@ -22,7 +22,8 @@ services: ...@@ -22,7 +22,8 @@ services:
args: args:
SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7 SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7
container_name: ${CONTAINER_NAME_PREFIX}device-pcc container_name: ${CONTAINER_NAME_PREFIX}device-pcc
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${TANGO_LOFAR_CONTAINER_MOUNT} - ${TANGO_LOFAR_CONTAINER_MOUNT}
environment: environment:
......
...@@ -22,7 +22,8 @@ services: ...@@ -22,7 +22,8 @@ services:
args: args:
SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7 SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7
container_name: ${CONTAINER_NAME_PREFIX}device-sdp container_name: ${CONTAINER_NAME_PREFIX}device-sdp
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${TANGO_LOFAR_CONTAINER_MOUNT} - ${TANGO_LOFAR_CONTAINER_MOUNT}
environment: environment:
......
...@@ -22,7 +22,9 @@ services: ...@@ -22,7 +22,9 @@ services:
args: args:
SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7 SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7
container_name: ${CONTAINER_NAME_PREFIX}device-statistics container_name: ${CONTAINER_NAME_PREFIX}device-statistics
network_mode: ${NETWORK_MODE} networks:
- control
- data
volumes: volumes:
- ${TANGO_LOFAR_CONTAINER_MOUNT} - ${TANGO_LOFAR_CONTAINER_MOUNT}
environment: environment:
......
...@@ -17,7 +17,8 @@ services: ...@@ -17,7 +17,8 @@ services:
build: build:
context: elk-configure-host context: elk-configure-host
container_name: ${CONTAINER_NAME_PREFIX}elk-configure-host container_name: ${CONTAINER_NAME_PREFIX}elk-configure-host
network_mode: ${NETWORK_MODE} networks:
- control
privileged: true privileged: true
elk: elk:
...@@ -25,7 +26,8 @@ services: ...@@ -25,7 +26,8 @@ services:
build: build:
context: elk context: elk
container_name: ${CONTAINER_NAME_PREFIX}elk container_name: ${CONTAINER_NAME_PREFIX}elk
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- elk-data:/var/lib/elasticsearch - elk-data:/var/lib/elasticsearch
ports: ports:
......
...@@ -12,7 +12,8 @@ services: ...@@ -12,7 +12,8 @@ services:
hdbpp-viewer: hdbpp-viewer:
image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/hdbpp_viewer:2021-05-28 image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/hdbpp_viewer:2021-05-28
container_name: ${CONTAINER_NAME_PREFIX}hdbpp-viewer container_name: ${CONTAINER_NAME_PREFIX}hdbpp-viewer
network_mode: ${NETWORK_MODE} networks:
- control
depends_on: depends_on:
- databaseds - databaseds
- dsconfig - dsconfig
......
...@@ -19,7 +19,8 @@ services: ...@@ -19,7 +19,8 @@ services:
args: args:
SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7 SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7
container_name: ${CONTAINER_NAME_PREFIX}itango container_name: ${CONTAINER_NAME_PREFIX}itango
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${TANGO_LOFAR_CONTAINER_MOUNT} - ${TANGO_LOFAR_CONTAINER_MOUNT}
- ${HOME}:/hosthome - ${HOME}:/hosthome
......
...@@ -17,7 +17,8 @@ services: ...@@ -17,7 +17,8 @@ services:
CONTAINER_EXECUTION_UID: ${CONTAINER_EXECUTION_UID} CONTAINER_EXECUTION_UID: ${CONTAINER_EXECUTION_UID}
SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7 SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7
container_name: ${CONTAINER_NAME_PREFIX}jupyter container_name: ${CONTAINER_NAME_PREFIX}jupyter
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${TANGO_LOFAR_CONTAINER_MOUNT} - ${TANGO_LOFAR_CONTAINER_MOUNT}
- ${TANGO_LOFAR_LOCAL_DIR}/jupyter-notebooks:/jupyter-notebooks:rw - ${TANGO_LOFAR_LOCAL_DIR}/jupyter-notebooks:/jupyter-notebooks:rw
......
...@@ -20,4 +20,5 @@ services: ...@@ -20,4 +20,5 @@ services:
args: args:
SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7 SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-itango:9.3.3.7
container_name: ${CONTAINER_NAME_PREFIX}lofar-device-base container_name: ${CONTAINER_NAME_PREFIX}lofar-device-base
network_mode: ${NETWORK_MODE} networks:
- control
...@@ -14,7 +14,8 @@ services: ...@@ -14,7 +14,8 @@ services:
logviewer: logviewer:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:9.3.3.2 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:9.3.3.2
container_name: ${CONTAINER_NAME_PREFIX}logviewer container_name: ${CONTAINER_NAME_PREFIX}logviewer
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${XAUTHORITY_MOUNT} - ${XAUTHORITY_MOUNT}
environment: environment:
......
#
# Docker compose file that describes our docker networks.
#
version: '3.5'
networks:
# Control network, with MTU=1500. Our default network.
control:
name: ${NETWORK_MODE}
# The networks are created and destroyed in the Makefile.
external: true
# Data network, with MTU=9000, to receive the Jumbo frames from SDP
data:
# This name needs to be alphabetically before the control network.
#
# As we add the data-receiving devices to both control and data
# network, we need to make sure the UDP data are forwarded to
# the data network, not the control network. The way Docker decides
# which network to actually expose ports on is by chosing the
# first one in alphabetical order.
name: 9000-${NETWORK_MODE}
external: true
...@@ -22,7 +22,8 @@ services: ...@@ -22,7 +22,8 @@ services:
pogo: pogo:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-pogo:9.6.31.2 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-pogo:9.6.31.2
container_name: ${CONTAINER_NAME_PREFIX}pogo container_name: ${CONTAINER_NAME_PREFIX}pogo
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- pogo:/home/tango - pogo:/home/tango
- ${XAUTHORITY_MOUNT} - ${XAUTHORITY_MOUNT}
......
...@@ -11,7 +11,8 @@ services: ...@@ -11,7 +11,8 @@ services:
build: build:
context: pypcc-sim context: pypcc-sim
container_name: ${CONTAINER_NAME_PREFIX}pypcc-sim container_name: ${CONTAINER_NAME_PREFIX}pypcc-sim
network_mode: ${NETWORK_MODE} networks:
- control
volumes: volumes:
- ${HOME}:/hosthome - ${HOME}:/hosthome
ports: ports:
......
...@@ -15,7 +15,8 @@ services: ...@@ -15,7 +15,8 @@ services:
rest: rest:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-rest:1.14.1.2 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-rest:1.14.1.2
container_name: ${CONTAINER_NAME_PREFIX}tango-rest container_name: ${CONTAINER_NAME_PREFIX}tango-rest
network_mode: ${NETWORK_MODE} networks:
- control
# set the hostname, otherwise duplicate device registrations result every # set the hostname, otherwise duplicate device registrations result every
# time the hostname changes as the container is restarted. # time the hostname changes as the container is restarted.
hostname: tango-rest hostname: tango-rest
......
...@@ -11,7 +11,8 @@ services: ...@@ -11,7 +11,8 @@ services:
build: build:
context: sdptr-sim context: sdptr-sim
container_name: ${CONTAINER_NAME_PREFIX}sdptr-sim container_name: ${CONTAINER_NAME_PREFIX}sdptr-sim
network_mode: ${NETWORK_MODE} networks:
- control
ports: ports:
- "4840:4840" - "4840:4840"
restart: on-failure restart: on-failure
...@@ -17,7 +17,8 @@ services: ...@@ -17,7 +17,8 @@ services:
tangodb: tangodb:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-db:10.4.10 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-db:10.4.10
container_name: ${CONTAINER_NAME_PREFIX}tangodb container_name: ${CONTAINER_NAME_PREFIX}tangodb
network_mode: ${NETWORK_MODE} networks:
- control
environment: environment:
- MYSQL_ROOT_PASSWORD=secret - MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=tango - MYSQL_DATABASE=tango
...@@ -32,7 +33,8 @@ services: ...@@ -32,7 +33,8 @@ services:
databaseds: databaseds:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-cpp:9.3.4.2 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-cpp:9.3.4.2
container_name: ${CONTAINER_NAME_PREFIX}databaseds container_name: ${CONTAINER_NAME_PREFIX}databaseds
network_mode: ${NETWORK_MODE} networks:
- control
ports: ports:
- "10000:10000" - "10000:10000"
depends_on: depends_on:
......
...@@ -13,7 +13,8 @@ services: ...@@ -13,7 +13,8 @@ services:
tangotest: tangotest:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:9.3.3.2 image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:9.3.3.2
container_name: ${CONTAINER_NAME_PREFIX}tangotest container_name: ${CONTAINER_NAME_PREFIX}tangotest
network_mode: ${NETWORK_MODE} networks:
- control
environment: environment:
- TANGO_HOST=${TANGO_HOST} - TANGO_HOST=${TANGO_HOST}
entrypoint: entrypoint:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment