How To Update The ARGOS Instrument Software During Commissioning
It is essential that the engineers know exactly which software modules run during the commissioning.
If any problems occur, these engineers require precise knowledge about the running software system.
The engineers will benefit from the convention that the installation files for INSROOT matches the source code
in the development workspace in such a way that there will a single point of installation source.
Therefore, it is recommended to follow these steps during commissiong:
- Check Jenkins in order to make sure that the Instrument Software will build without problems.
- Connect to the workstation that needs to be updated.
- Go to workspace, i.e.
cd $HOME/workspace
- Backup existing working copy:
cp -r argos_trunk argos_trunk_`date +"%Y%m%d_%H%M%S"`
- Go to the working copy:
cd ./argos_trunk
- Clean up the working copy:
make clean
- Update to the latest version of ARGOS instrument software:
svn up
- Customize
deploy.py
- Shutdown all Argos specific processes. The impatient users can use the following command:
./site/lbt/common/insroot/bin/argos_kill_processes
- Deploy:
./deploy.py
The script must finish without error.
How To Update The ARGOS Instrument Software On The Workstations
- Check Jenkins in order to make sure that the Instrument Software will build without problems.
- Connect to the workstation that needs to be updated.
- Go to workspace
cd $HOME/workspace
- Backup existing working copy:
mv argos_trunk argos_trunk_`date +"%Y%m%d_%H%M%S"`
- Checkout the latest version of ARGOS instrument software:
svn co https://svn.mpia.de/gulli/argos/trunk argos_trunk
- Go to the working copy:
cd ./argos_trunk
- Customize
deploy.py
- Shutdown all Argos specific processes. The impatient users can use the following command:
./site/lbt/common/insroot/bin/argos_kill_processes
- Deploy:
./deploy.py
The script must finish without error.
The next step can be the
start-up of the instrument software.
How To Update ARGOS Instrument Software By First Deploying In Temporary INSROOT
Motivation: The deployment takes currently (2015-02-26) about 30 minutes.
Sometimes, the engineers in the control room are too busy for any interruption
of their work. Thus, a deployments in such situtations are infeasible.
This how-to describes a way to deploy the instrument software by first
installing the programs in a temporary folder and then swap it to the
production folder. In this way, the interruption of the engineers
are kept to a minimum.
- Create a working directory, e.g.
mkdir $HOME/workspace_tmp
- Enter this working directory, e.g.
cd $HOME/workspace_tmp
- Create shell script chINSROOT.env with the following content:
export INSROOT_TEMP=$HOME/apps_tmp
export INSROOT_PRODUCTION=$INSROOT
export INSROOT=$INSROOT_TEMP
export LD_LIBRARY_PATH=$INSROOT/lib:$LD_LIBRARY_PATH
export PATH=$INSROOT/bin:$PATH
export MANPATH=$INSROOT/share/man:$MANPATH
export CDPATH=.:$INSROOT
export QT_PLUGIN_PATH=$INSROOT/lib/plugins:$QT_PLUGIN_PATH
export PYTHONPATH=$INSROOT/lib/python/site-packages:$PYTHONPATH
echo "Updated INSROOT from $INSROOT_PRODUCTION to $INSROOT"
- Customize variable
INSROOT_TEMP
in chINSROOT.env
if necessary.
- Load INSROOT_TEMP as the new INSROOT:
source ./chINSROOT.env
- Check that INSROOT value equals INSROOT_TEMP, e.g.:
echo $INSROOT
- Check-out latest version of Argos instrument SW:
svn co https://svn.mpia.de/gulli/argos/trunk argos_trunk
- Go to the workspace:
cd ./argos_trunk
- Customize
deploy.py
- Deploy into
INSROOT_TEMP
: ./deploy.py
- Ask the engineers to stop their work and to back-up their results because all the Argos control programs will be shutdown.
- Make sure that all engineers have stopped their work.
- Terminate all Argos processes, e.g.
./site/lbt/common/insroot/bin/argos_kill_processes
- Back-up the current production
INSROOT
, e.g. mv $INSROOT_PRODUCTION ${INSROOT_PRODUCTION}_`date +"%Y%m%d_%H%M%S"`
- Activate
INSROOT_TEMP
by replacing INSROOT_PRODUCTION
, e.g. mv $INSROOT_TEMP $INSROOT_PRODUCTION
- Log out. This step avoids accidental starting of programms from the
INSROOT_TEMP
, e.g. exit
How to Customize deploy.py
For configuring the build process, the use ran change the following settings might
deploy.py
:
- Increase the number of parallel builds. Currently (20150221) the machines are capable to run 16 builds in parallel:
"MAKE_FLAGS" : "-j 16",