Software deployement at the telescope

Environments

Different environments (i.e.: user accounts) must be used for production software and for maintenance activities. The production environment must be protected against unwanted modifications or mistakes which modify either the executables or the config data.

Production environment: AOeng

The software currently used for the operation of the FLAO system is contained in a specific user account: AOeng.

This account is to be used only to deploy a new approved release of the FLAO software. No development, maintenance or other activities except for running the FLAO must be performed on this account.

The only exception is the installation of a new release which must follow the procedure described below.

Maintenance/development environments

To allow maintenance and development activities (bug fixes, test of new features, etc.) independent accounts must be created. They will have independent source trees (extracted from the SVN archive) and independent AO_ROOT directories

Development cycle

Whenever any development activity must be performed, even the smallest one, the first step must be to prepare a development account (or use an existing one) with a suitable source tree and his own copy of the AO_ROOT tree.

Then, to start the activity the following steps should be performed:

  1. Login into the production environment (AOeng)
  2. Issue a stop command
  3. Login to the development account
  4. Proceed with the maintenance activity, possibly starting the FLAO software from the environment.

At the end of the activity to restart the production release:

  1. From within the development environment:
  2. Issue a stop command
  3. Logout the development account
  4. Login into the production environment
  5. Issue a start command

If the development version of FLAO has been tested and demonstrated to be usable it must be released as described in the following section.

FLAO Software Releases

Step 1: committing to SVN

When a FLAO development version has been thoroughly tested and is ready to be marked as production, the corresponding source tree must be properly committed from the development environment to the SVN repository and tagged using the "svn copy" command. The tag must be named as in the following example:

  • 20130211_L for releases suitable for the left side only (i.e.: tested only on that side).
  • 20130717_R for releases suitable for the right side only
  • 20131010_LR for releases suitable for both sides (i.e.: tested on both sides).

Step 2: building the release

The build will be performed from the production environment performing the following steps:

  1. Preparation of the setup (prepare.py procedure)
  2. Checkout of the tagged version from SVN
  3. Compilation and build.
  4. Installation

Step 3: selecting the release

Selection of the installed release using the select.py procedure.
Topic revision: r3 - 21 May 2014, AlfioPuglisi
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 Foswiki? Send feedback