CASA Deployment on the NRAO Networks

Delivering CASA to users both inside and outside of NRAO is obviously an important portion of what the CASA team does. This page describes the where and how of the package distribution, as well as some of the technical details of the actual implementations.

Assumptions and Definitions

I assume that the CASA build system routinely produces packages as defined in Jeff Add REF and that these packages are made available via NFS mount. I will refer to the root directory where the build artifacts are placed by the CASA build system as CASA_BUILD_ROOT.

At each site /home/casa is a directory available stewed with the purposed of serving CASA artifacts to the users. I will refer to the host physically serving the /home/casa filesystem at each installation as [ nm,gb,cv ]- casa-server. The current physical system fulfilling this role is identified below. The user casaadm is used for all maintenance of these CASA repositories.

Systems Currently Used

  • cv-casa-server = skidmark.cv.nrao.edu
  • nm-casa-server = catapult.aoc.nrao.edu
  • gb-casa-server = ??
  • CASA_BUILD_ROOT = /home/svn.cv.nrao.edu/content/casa
    • Note: This directory is currently exported from cvfiler:/vol/vol0/rpmbuild/rpmbuild/apache

Available Artifacts

A summary of the available artifacts is presented below
  • run-data: Subset of the data repository required for execution of CASA. This is what most end-users require
    • Remote Access: rsync://casa.nrao.edu/run-data


    • Local Access: /home/casa/data/distro
    • Synchronization: On cv-casa-server synchronized by daily svn update (part of CasaDistroSync.sh). On other servers synchronized via rsync.
  • casa-data: Historical alias for run-data
    • Remote Access: rsync://casa.nrao.edu/casa-data
  • full-data: Entire data repository
    • Remote Access: rsync://casa.nrao.edu/full-data
    • Local Access: /home/casa/data/trunk
    • Synchronization: On cv-casa-server synchronized by daily svn update (part of CasaDistroSync.sh). On other servers synchronized via rsync.
  • distro: Primary repository for download of CASA distributions
    • Remote Access: http://casa.nrao.edu/distro
;
    • Local Access: /home/casa/distro (in CV only)
    • Synchronization: Updated via cron job on cv-casa-server from CASA_BUILD_ROOT using CasaDistroSync.sh
  • developer: Access for artifacts required by the CASA development team
    • Remote Access: http://casa.nrao.edu/developer * Local Access: /home/casa/developer (in CV only) * Synchronization: None, manually populated as needed by CASA Development Team
  • yum repository: Repository of binary versions (RPMs) suitable for automated maintenance using yum
    • Remote Access: http://casa.nrao.edu/yum-repo
; (in CV only)
    • Local Access: /home/casa/yum-repo (in CV only)
    • Synchronization: Automated update via rsync from CASA_BUILD_ROOT, part of CasaDistroSync.sh

Details

Data repositories: run-data, casa-data, full-data

These are made available through anonymous rsync access. Since they are synchronized using svn on cv-casa-server there are unwanted files in the directory on disk. These svn files and directories should be suppressed. For documentation the existing exports have entries similar to:
[run-data]
      path = /home/casa/data/distro
      read only = true
      uid = root
      gid = root
      use chroot = true
      exclude = .svn*

Other observatory sites should use the rsync method on both run-data and full-data to synchronize local copies.

Distribution Directory

The distribution directory contains the CASA versions for download by external users. Under the top level directory there are three subdirectories, linux, osx, and old. The_old_ subdirectory is used to store versions of CASA which are still required by users, but would no longer be maintained in the standard structure. The constituents of the old area are manually inserted and no automated sync or duplication is performed.

Population and Retention
The linux and osx subdirectories are updated nightly from CASA_BUILD_ROOT to deliver the latest build products. In each directory the CASA distributions are organized into release, prerelease, monthly, stable and test versions, with OS version specific artifacts stored in separate directories. The retention policy for each directory is summarized below and enforced by the CasaDistroSync.sh script run nightly. The logic is that for each release type files older than Maximum Age will be removed, provided that it leaves at least Miminum Versions in the directory.

Release Type Maximum Age Minimum Versions
release None None
prerelease 6 months None
monthly 3 years None
stable 3 months 30
test 1 month 30

Public Export
The distribution directory should be export to be browsable and to allow download of the data products. The only additional requirement is that the test artifacts not be exported, these should only be available within the NRAO network. We anticipate that this be suppressed on the casa.nrao.edu Apache Server with entries similar to
<Directory /home/casa.nrao.edu/distro/linux>
      IndexIgnore test 
  </Directory>
  <Directory /home/casa.nrao.edu/distro/osx>
      IndexIgnore test
  </Directory>
 

CASA Packages

For convenience recent versions of CASA are made available at all sites under the /home/casa/packages. These versions are primarily maintained in CV by a cron script CasaUnpacker.sh run as casaadm on a nightly basis. This script maintains current versions for RHEL5 and RHEL6 systems following the retention policy below. Long lived versions (monthly and release) have the data directory linked to the sitewide data repository in /home/casa/data/distro to prevent falling out of date (particularly the EOP parameters).

Release Type Maximum Age Minimum Versions
release None None
prerelease 3 months None
monthly 3 years None
stable 1 month 15
test 1 month 15

CASA RPMs in NM

The CIS helpdesk in NM maintains a copy of the RHEL6 64bit CASA Repo so that a few RPMs, listed below, get installed on all RHEL6 machines and are updated on CASA's schedule. This is partially a holdover from how CASA was installed on RHEL5 machines, development versions of CASA may not be self contained and still require some of these RPMs and also because at this point it is unknown what other, if any, software also needs these RPMs. Some of these RPMs are inlucded in the versions of CASA in /home/casa and could be removed if it was determined that no other software required them and development versions of CASA no longer needed them.
  • almawvr-1.2-5.x86_64
  • cfitsio-3.350-01.el6.x86_64
  • cfitsio-devel-3.350-01.el6.x86_64
  • obit-1.1.512-1.el6.x86_64 (updates frequently)
  • plplot-c-5.8.0-3.el6.x86_64
  • plplot-c-devel-5.8.0-3.el6.x86_64
  • plplot-c-libs-5.8.0-3.el6.x86_64
  • blas-devel-3.2.1-4.el6.x86_64
  • lapack-devel-3.2.1-4.el6.x86_64
  • pgplot-5.3.1-20.el6.x86_64
  • pgplot-demos-5.3.1-20.el6.x86_64
  • pgplot-devel-5.3.1-20.el6.x86_64
  • pgplot-motif-5.3.1-20.el6.x86_64
  • rpfits-2.23-11.el6.x86_64
  • xorg-x11-server-Xvfb-1.13.0-23.1.el6_5.x86_64

-- JeffKern - 2015-06-04
Topic revision: r8 - 2015-06-12, KScottRowe
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 NRAO Public Wiki? Send feedback