diff --git a/CDB/integration_ConfigDb.json b/CDB/integration_ConfigDb.json index a3e0bd8b0b993a6b0d21f20bdf15748d8bd59135..37a8ea39098af8f15157177b7383417d446627c5 100644 --- a/CDB/integration_ConfigDb.json +++ b/CDB/integration_ConfigDb.json @@ -95,7 +95,7 @@ "5001" ], "Statistics_Client_TCP_Port": [ - "5002" + "5000" ], "OPC_Server_Name": [ "sdptr-sim" diff --git a/devices/clients/statistics_client.py b/devices/clients/statistics_client.py index fdbb80fe00be5776ba60670979c2ddb90b17e050..d3597147d6451de310b84611f3944dabef326bdf 100644 --- a/devices/clients/statistics_client.py +++ b/devices/clients/statistics_client.py @@ -26,6 +26,7 @@ class StatisticsClient(CommClient): host: hostname to listen on port: port number to listen on """ + self.udp_options = udp_options self.tcp_options = tcp_options self.queuesize = queuesize diff --git a/devices/clients/tcp_replicator.py b/devices/clients/tcp_replicator.py index df5e173b1004d1079ee3a26877e3f7e64cee9dc7..79d2dfdf42e3a380608d2271bfc2e31020e0c17c 100644 --- a/devices/clients/tcp_replicator.py +++ b/devices/clients/tcp_replicator.py @@ -1,9 +1,8 @@ -from threading import Condition -from threading import Thread -from threading import Semaphore from queue import Empty from queue import Queue - +from threading import Condition +from threading import Semaphore +from threading import Thread import asyncio import logging @@ -226,7 +225,7 @@ class TCPReplicator(Thread, StatisticsClientThread): tcp_server = await loop.create_server( lambda: TCPReplicator.TCPServerProtocol(options, connected_clients), - options['tcp_bind'], options['tcp_port']) + options['tcp_bind'], options['tcp_port'], reuse_address=True) async def _process_queue(self): """Take a packet from the queue and reschedule this task""" diff --git a/devices/clients/udp_receiver.py b/devices/clients/udp_receiver.py index 1968028c88c1c078a42c929eed34364890a7a1b7..aaa7fe49a385b761beca9aa32fa43b82eb31d080 100644 --- a/devices/clients/udp_receiver.py +++ b/devices/clients/udp_receiver.py @@ -1,8 +1,8 @@ -from queue import Queue from queue import Full +from queue import Queue from threading import Thread -import numpy import logging +import numpy import socket import time @@ -18,6 +18,8 @@ class UDPReceiver(Thread, StatisticsClientThread): # Default options for UDPReceiver _default_options = { + "udp_host": None, + "udp_port": None, "poll_timeout": 0.1, } @@ -25,18 +27,20 @@ class UDPReceiver(Thread, StatisticsClientThread): self.collector_queue = collector_queue self.replicator_queue = replicator_queue - self.options = self._parse_options(options) - try: - self.host = self.options['udp_host'] + options['udp_host'] except KeyError: raise try: - self.port = self.options['udp_port'] + options['udp_port'] except KeyError: raise + self.options = self._parse_options(options) + + self.host = self.options['udp_host'] + self.port = self.options['udp_port'] self.poll_timeout = self.options['poll_timeout'] self.parameters = { diff --git a/devices/devices/sdp/sst.py b/devices/devices/sdp/sst.py index 792162fd50adcefdb420fd621e853261d83da17b..62fbc260e98c98ae8e1cd6590184af442dc8fd9f 100644 --- a/devices/devices/sdp/sst.py +++ b/devices/devices/sdp/sst.py @@ -27,12 +27,6 @@ from tango import AttrWriteType from clients.attribute_wrapper import attribute_wrapper from clients.opcua_client import OPCUAConnection from clients.statistics_client import StatisticsClient - -from devices.hardware_device import hardware_device - -from common.lofar_git import get_version -from common.lofar_logging import device_logging_to_python, log_exceptions - from devices.sdp.statistics import Statistics from devices.sdp.statistics_collector import SSTCollector diff --git a/devices/devices/sdp/statistics.py b/devices/devices/sdp/statistics.py index ba6731ddc7e62564ec66a3ce13850e741af19f62..71d19ee7413671bccd3cc4310b3804ed8e69868d 100644 --- a/devices/devices/sdp/statistics.py +++ b/devices/devices/sdp/statistics.py @@ -21,7 +21,6 @@ sys.path.append(parentdir) from abc import ABCMeta, abstractmethod # PyTango imports -from tango.server import run from tango.server import device_property, attribute from tango import AttrWriteType # Additional import diff --git a/sbin/run_integration_test.sh b/sbin/run_integration_test.sh index b2925b4085f3c684f3bb999ebdb2f4c387c760e5..39d266ac13de6d8c2e7e13beb12b2c10d7a67548 100755 --- a/sbin/run_integration_test.sh +++ b/sbin/run_integration_test.sh @@ -6,10 +6,14 @@ if [ -z "$LOFAR20_DIR" ]; then exit 1 fi -# Start all required containers +# Restart all required containers cd "$LOFAR20_DIR/docker-compose" || exit 1 +make stop device-sdp device-pcc device-sst sdptr-sim pypcc-sim make start databaseds dsconfig device-sdp device-pcc device-sst jupyter elk sdptr-sim pypcc-sim +# Give dsconfig and databaseds time to start +sleep 15 + # Update the dsconfig cd "$TANGO_LOFAR_LOCAL_DIR" || exit 1 sbin/update_ConfigDb.sh CDB/integration_ConfigDb.json