build.png

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:

  1. Check Jenkins in order to make sure that the Instrument Software will build without problems.
  2. Connect to the workstation that needs to be updated.
  3. Go to workspace, i.e.
    cd $HOME/workspace
  4. Backup existing working copy:
    cp -r argos_trunk argos_trunk_`date +"%Y%m%d_%H%M%S"`
  5. Go to the working copy:
    cd ./argos_trunk
  6. Clean up the working copy:
    make clean
  7. Update to the latest version of ARGOS instrument software:
    svn up
  8. Customize deploy.py
  9. Shutdown all Argos specific processes. The impatient users can use the following command:
    ./site/lbt/common/insroot/bin/argos_kill_processes
  10. Deploy:
    ./deploy.py
    The script must finish without error.

How To Update The ARGOS Instrument Software On The Workstations

  1. Check Jenkins in order to make sure that the Instrument Software will build without problems.
  2. Connect to the workstation that needs to be updated.
  3. Go to workspace
    cd $HOME/workspace
  4. Backup existing working copy:
    mv argos_trunk argos_trunk_`date   +"%Y%m%d_%H%M%S"`
  5. Checkout the latest version of ARGOS instrument software:
    svn co https://svn.mpia.de/gulli/argos/trunk argos_trunk
  6. Go to the working copy:
    cd ./argos_trunk
  7. Customize deploy.py
  8. Shutdown all Argos specific processes. The impatient users can use the following command:
    ./site/lbt/common/insroot/bin/argos_kill_processes
  9. 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.

  1. Create a working directory, e.g.
    mkdir $HOME/workspace_tmp
  2. Enter this working directory, e.g.
    cd $HOME/workspace_tmp
  3. 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"
  4. Customize variable INSROOT_TEMP in chINSROOT.env if necessary.
  5. Load INSROOT_TEMP as the new INSROOT:
    source ./chINSROOT.env
  6. Check that INSROOT value equals INSROOT_TEMP, e.g.:
    echo $INSROOT
  7. Check-out latest version of Argos instrument SW:
    svn co https://svn.mpia.de/gulli/argos/trunk argos_trunk
  8. Go to the workspace:
    cd ./argos_trunk
  9. Customize deploy.py
  10. Deploy into INSROOT_TEMP:
    ./deploy.py
  11. Ask the engineers to stop their work and to back-up their results because all the Argos control programs will be shutdown.
  12. Make sure that all engineers have stopped their work.
  13. Terminate all Argos processes, e.g.
    ./site/lbt/common/insroot/bin/argos_kill_processes
  14. Back-up the current production INSROOT, e.g.
    mv $INSROOT_PRODUCTION ${INSROOT_PRODUCTION}_`date +"%Y%m%d_%H%M%S"`
  15. Activate INSROOT_TEMP by replacing INSROOT_PRODUCTION, e.g.
    mv $INSROOT_TEMP $INSROOT_PRODUCTION
  16. 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:

  1. Increase the number of parallel builds. Currently (20150221) the machines are capable to run 16 builds in parallel:
    "MAKE_FLAGS" : "-j 16",
Topic revision: r18 - 17 Jun 2015, LorenzoBusoni
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding AOWiki? Send feedback