Setup DDS Daemon in Nublado

Overview

When operating in nublado on one of the operational environments, users are required to start a DDS daemon. The DDS daemon is in charge of handling most of the DDS communication and considerably alleviates the load on users notebooks and processes in general.

Prerequisites

  • You must be logged in to the nublado system in one of the operational environments.
  • See Observing-Interface-Getting-Started-Nublado, if you need help getting started.

Post-Condition

  • Users can reliably communicate with the observatory system using DDS daemon.

Procedure Steps

Once you are logged to nublado, open a “terminal tab”. If you are in the Launcher view, click on the “Terminal” icon in the “Other” tab at the bottom.

If you don’t see the Launcher view, click on the plus sign at the top-left hand side of the view, as indicated in the figure bellow.

../_images/nublado-jupyter-lab-new-launcher.png

Screenshot of jupyter-lab section highlighting the “New Launcher” button.

The procedure is divided in two steps; Setup and Start DDS Daemon and Nublado User Setup.

Setup and Start DDS Daemon

Note

This step needs to be performed every time the user nublado instance is restarted, or if the user shuts down the daemon.

In the terminal enter the following sequence of commands to setup your environment;

source ${LOADSTACK}
export OSPL_HOME=/scratch/opt/OpenSpliceDDS/V6.10.4/HDE/x86_64.linux/
source $OSPL_HOME/release.com
export OSPL_URI=$(python -c "from lsst.ts import ddsconfig; print( (ddsconfig.get_config_dir() / 'ospl-shmem.xml').as_uri())")

Before starting the daemon, make sure to check if it is already running or not;

$ ospl status
Vortex OpenSplice System with domain name "ospl_sp_ddsi" is non existent

If instead of the message above (that domain name is “non existent”) you get (“is operational”), your daemons is already running. You can either skip to the next step or, most likely, resume working with the system.

Then start the daemon;

$ ospl start

Starting up domain "ospl_sp_ddsi" with ID 0

Info  log : ./ospl-info.log
Error log : ./ospl-error.log

And check that it is running:

$ ospl status
Vortex OpenSplice System with domain name "ospl_sp_ddsi" is operational

Nublado User Setup

Note

This step need to be done only once per environment.

Once this step is performed it will survive any restart of the nublado instance.

Warning

If the OpenSpliceDDS library is updated you may need to redo this step to update the library locally.

If in doubt contact the appropriate personnel.

On the terminal used in the previous step open the user setup file using your preferred text editor. Nublado ships with both vim and emacs, e.g.;

emacs ~/notebooks/.user_setups

Add the following lines at the top of the file:

export OSPL_HOME=/scratch/opt/OpenSpliceDDS/V6.10.4/HDE/x86_64.linux/
source $OSPL_HOME/release.com
export OSPL_URI=$(python -c "from lsst.ts import ddsconfig; print( (ddsconfig.get_config_dir() / 'ospl-shmem.xml').as_uri())")

Once you are done, save and exit (if using emacs, press Control+x Control+s to save and Control+x Control+c to exit). Your nublado instance is ready to use a DDS daemon.

Stop DDS Daemon

Once you are done working and do not anticipate operating the system for a while (a week or so), it is best (but not mandatory) to stop your DDS Daemon. To do that, go back to the terminal we started initially, or start/setup a new terminal, and type the commands bellow:

ospl stop

Troubleshooting

No troubleshooting information is currently available.

Contact Personnel

This procedure was last modified on Nov 10, 2021.

This procedure was written by Tiago Ribeiro. The following are contributors: Michael Reuter.