Installing SNDAQ
Offline Installation
SNDAQ can be installed on a laptop or in a directory on the WIPAC cluster by cloning the SNDAQ GitHub repository and running
python setup.py install
Alternatively, for rapid development the command
python setup.py develop
export sndaq=/path/to/sndaq_folder
will install softlinks in your python path to the source in your git checkout. It is recommended that you add the second line to your .bashrc
or an equivalent file.
Online Installation: SPTS (WIPAC)
Note
Several of these steps refer to the C++ version of SNDAQ and are about to become obsolete.
Installing SNDAQ on the South Pole Testing System (SPTS) at WIPAC or the South
Pole System (SPS) at Pole requires use of a script based on fabric. A fabric
script is prepared for each release
of the SNDAQ software. You will need to request an account on SPTS by emailing
the IceCube Help Desk at help@icecube.wisc.edu.
Installing the fabric script
To begin, log into the machine access
and run your commands as the pdaq
user:
ssh username@msn-sps.icecube.wisc.edu
ssh username@spts-access
sudo su - pdaq
cd /software/stage/sndaq
Next, check if the SNDAQ fabric script is already installed by running a directory listing. If it is installed, you should see something like this:
pdaq@access[sndaq] $ ls -l sndaq-fabric
total 224
-rw-rw-r-- 1 pdaq pdaq 4160 Jun 30 2019 fabfile.cfg
-rw-rw-r-- 1 pdaq pdaq 44893 May 10 2020 fabfile.py
You will want to update the fabric script to the latest version:
cd /software/stage/sndaq/sndaq-fabric/
git pull origin master
Stage SNDAQ
If the fabric script is installed and ready to go, you can continue staging. Otherwise, clone the fabric script from the WIPAC GitHub repository:
cd /software/stage/sndaq
git clone git@github.com:WIPACrepo/sndaq-fabric.git
Once the fabric scripts are prepared, SNDAQ can be staged on spts-access
.
The staging follows these steps:
Look for a matching already staged version of SNDAQ.
Check out the requested branch or tag into
/software/stage/sndaq/sndaq-git
.Run CMake to prepare the build.
Build SNDAQ into
/software/stage/sndaq/sndaq_[name]/build
.Run CMake install into
/software/stage/sndaq/sndaq_[name]/install
. Then perform the stage using the fabric script:cd /software/stage/sndaq/sndaq-fabric fab stage:version=[name]
Here you would replace
[name]
with the code name of a particular software release. For example, to install Beer_TrooperXIII released in August 2016, runcd /software/stage/sndaq/sndaq-fabric fab install:version=Beer_TrooperXIII
If you are installing an SNDAQ branch rather than a named release, prepend the branch name with the string
branches//
. For example, stage a branch by runningcd /software/stage/sndaq/sndaq-fabric fab install:version=branches/[branch_name]
Deploy SNDAQ
If the stage is successful, you can then deploy SNDAQ to 2ndbuild
. Some of
the steps performed by the deploy procedure are:
Stop the running SNDAQ instance.
Copy the SNDAQ installation and its dependencies from
spts-access
to2ndbuild
.Copy helper scripts to
expcont
.Set up cronjobs on
2ndbuild
andexpcont
.
The deploy procedure does not start SNDAQ after completion. To do this, assuming deployment was first successful, run the command
fab start
SNDAQ should now be installed and running.
Note
Sometimes the fabric script will raise an exception stating that it timed
out registering SNDAQ with i3live. If
this occurs, try restarting SNDAQ one or two times with fab start
. If
the timeout persists, consult [SECTION XYZ] on troubleshooting the live
system.
Online Installation: SPS (South Pole)
Installing SNDAQ on SPS is identical to the instructions given in the previous
section, except that you replace the machine spts-access
with
sps-access
.
Prior to installing SNDAQ on SPS, submit a Non-Standard Operations Request and schedule a time window for the installation. Choose a time window such that the TDRSS or DSCS satellites will be online and visible at Pole.
Note
Make sure your Operations Request is submitted at least three days in advance of your intended installation so that the Winterovers will be available to help in case the connection drops during installation or something else goes wrong that requires the release to be rolled back.