Tango Station Control
Station Control software related to Tango devices.
Index
- Installation
- User documentation (ReadTheDocs (Sphinx / ReStructuredText))
- Docker compose documentation
- Developer Documentation
- Source code documentation
- Unit tests
- Integration tests
- Release Notes
Installation
Prerequisites
After checking out this repo, be sure to also check out the submodules:
git submodule init
git submodule update
You will also need:
- docker
- docker-compose
- make
- bash
Bootstrap
The bootstrap procedure is needed only once. First we build all docker containers, and load the initial configuration. This may take a while:
cd docker-compose
make bootstrap
By default bootstrap will configure the station to use simulators. You can lookup alternative configurations in the CDB directory.
Now we can start all containers, and make sure everything is up:
make start
make status
If not, you can inspect why with docker logs <container>
. The containers will
automatically be restarted on reboot or failure. Stop them explicitly to bring
them down (make stop <container>
).
Most notably, you will have web interfaces available at:
- http://localhost:8888 (Jupyter Lab)
- http://localhost:3000 (Grafana).
Development
For development you will need several dependencies including:
git g++ gcc make docker docker-compose shellcheck graphviz python3-dev \
python3-pip python3-tox libboost-python-dev libtango-cpp pkg-config
Of these docker-compose must be at least 2.0 and Python 3.7 or higher.
Alternatively, tox can be installed through pip using pip install tox
.
Finally, running unit tests relies on availability of casacore data see: lofar-device-base Dockerfile for details.
Versioning
When changing behavior a new version for Lofar Station Control should be reserved. To do this please follow semantic versioning.
Next change the version in the following places:
- The VERSION file.
- In test_writer_sst.py
for the
test_header_info
test. - Add a Release note for the given version.
- Once the merge requests is merged to master, add a tag with the version such as v0.3.2 or v0.3.3 etc
- The tag can be deployed to the environments, manually, through https://git.astron.nl/lofar2.0/tango/-/tags
Release Notes
- 0.5.0 Add
Configuration
device - 0.4.1 Fix for missing SDP attributes for spectral inversion
- 0.4.0 Have most containers report health status and add
make await
command - 0.3.1 Fix for applying boot device dsconfig
- 0.3.0 Initial version of deployment scripts and functionality
- 0.2.0 Extend
Beamlet
device with FPGA source address attributes - 0.1.2 Fix
StatisticsClient
accessinglast_invalid_packet_exception
parameter