Skip to content
Snippets Groups Projects
Select Git revision
  • 3d936c786c6b377a6c9984a2734a1b86e22fc5b8
  • master default protected
  • test-pytango-10.0.3
  • revert-cs032-ccd-ip
  • deploy-components-parallel
  • fix-chrony-exporter
  • L2SS-2407-swap-iers-caltable-monitoring-port
  • L2SS-2357-fix-ruff
  • sync-up-with-meta-pypcc
  • stabilise-landing-page
  • all-stations-lofar2
  • v0.39.7-backports
  • Move-sdptr-to-v1.5.0
  • fix-build-ubuntu
  • tokens-in-env-files
  • fix-build
  • L2SS-2214-deploy-cdb
  • fix-missing-init
  • add-power-hardware-apply
  • L2SS-2129-Add-Subrack-Routine
  • Also-listen-internal-to-rpc
  • v0.55.5-r2 protected
  • v0.52.8-rc1 protected
  • v0.55.5 protected
  • v0.55.4 protected
  • 0.55.2.dev0
  • 0.55.1.dev0
  • 0.55.0.dev0
  • v0.54.0 protected
  • 0.53.2.dev0
  • 0.53.1.dev0
  • v0.52.3-r2 protected
  • remove-snmp-client
  • v0.52.3 protected
  • v0.52.3dev0 protected
  • 0.53.1dev0
  • v0.52.2-rc3 protected
  • v0.52.2-rc2 protected
  • v0.52.2-rc1 protected
  • v0.52.1.1 protected
  • v0.52.1 protected
41 results

installation.rst

Blame
  • Jan David Mol's avatar
    L2SS-434: Added station initialisation procedure
    Jan David Mol authored
    3d936c78
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    installation.rst 2.60 KiB

    Installation

    You start with checking out the source code, f.e. the master branch, as well as the git submodules we use:

    git clone https://git.astron.nl/lofar2.0/tango.git
    cd tango
    git submodule init
    git submodule update

    Next, we bootstrap the system. This will build our docker images, start key ones, and load the base configuration. This may take a while:

    cd docker-compose
    make bootstrap

    If you lack access to LOFAR station hardware, load additional configurations to use the simulators instead:

    for sim in ../CDB/\*-sim-config.json; do
      ../sbin/update_ConfigDb.sh ../CDB${sim}-config.json
    done

    Now we are ready to start the other containers:

    make start

    and make sure they are all up and running:

    make status

    You should see the following state:

    • Containers astor, hdbpp-viewer, jive, log-viewer and pogo will have State Exit 1. These are containers that are interactive X11 tools, and not needed for now,
    • Other containers have either State Up or Exit 0.

    If not, you can inspect why with docker logs <container>. Note that the containers will automatically be restarted on failure, and also if you reboot. Stop them explicitly to bring them down (make stop <container>).

    Initialisation

    The following procedure describes how to initialise the system, which is required after installation and after a system reboot.

    The docker containers will automatically restart after a system reboot. But the Linux kernel will lose its required custom settings required by our ELK stack. To reconfigure the kernel parameters, run:

    make start elk-configure-host
    make restart elk

    We can now initialise the station configuration, that is, start all the software devices to control the station hardware, and to initialise the hardware with the configured default settings. Go to http://localhost:8888, start a new Station Control notebook, and initiate the software boot sequence:

    # reset our boot device
    boot.off()
    assert boot.state() == DevState.OFF
    boot.initialise()
    assert boot.state() == DevState.STANDBY
    boot.on()
    assert boot.state() == DevState.ON
    
    # start and initialise the other devices
    boot.initialise_station()
    
    # wait for the devices to be initialised
    import time
    
    while boot.initialising_station_R:
      print(f"Still initialising station. {boot.initialisation_progress_R}% complete. State: {boot.initialisation_status_R}")
      time.sleep(1)
    
    # print conclusion
    if boot.initialisation_progress_R == 100:
      print("Done initialising station.")
    else:
      print(f"Failed to initialise station: {boot.initialisation_status_R}")