Skip to content
Snippets Groups Projects
Taya Snijder's avatar
Merge branch 'L2SS-1032_use_constants_in_tests' into 'master'
Taya Snijder authored
Resolve L2SS-1032 "Use constants in tests"

Closes L2SS-1032

See merge request !470
8d07f347
History

Pipeline Status Coverage Status Documentation Status

Tango Station Control

Station Control software related to Tango devices.

Index

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:

To create the appropriate indexes for ElasticSearch the following needs to be executed once while ElasticSearch is running:

cd docker-compose/elk
curl -X POST http://localhost:5601/api/saved_objects/_import -H "kbn-xsrf: true" --form file=@kibana/default-objects.ndjson

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:

  1. The VERSION file.
  2. In test_writer_sst.py for the test_header_info test.
  3. Add a Release note for the given version.
  4. Once the merge requests is merged to master, add a tag with the version (just x.x.x not Vx.x.x)

Release Notes

  • 0.1.2 Fix StatisticsClient accessing last_invalid_packet_exception parameter
  • 0.2.0 Extend Beamlet device with FPGA source address attributes