CASA Software Engineering Project: Move the Public CASA Package Repository
Move the current CASA Public Package Repositories from
To an appropriate location on the CASA User Web
to improve separation between tested and released CASA packages, and untested or not released CASA packages, and to support cleaner mirroring to other sites.
- Kana Sugimoto
- Koji Nakamura
- All CASA users outside of NRAO
- Set a package retention policy.
- Needed to estimate disk space required on casa.nrao.edu
- Measure space used by current CASA packages that should be moved to the new site.
- Assumption: this repository will only contain Linux tars and OS X dmgs to start with.
- Issue: we are working on increasing the number of supported Linux distributions. Because we have not settled on package formats, disk space requirements will be uncertain.
- Issue: we are considering changes to the way we distribute CASA. This may significantly change our disk space requirements.
- Set a space budget for packages on casa.nrao.edu.
- Agree with Stephan and Pat on how to manage this space.
- Request this space on casa.nrao.edu from Stephan and Pat.
- Use new scripts to publish existing packages to new repository.
- Test and debug.
- Update http://casa.nrao.edu/casa_obtaining.shtml to refer to new repository.
- Concise requirements/design/impementation notes (on this page).
- Concise mirroring instructions (one short wiki page).
- Concise instructions for CASA package publishers (one short wiki page).
- Instructions for naming fixes for broken packages.
- Scripts for automating package publishing.
- Scripts for deleting old (TBD) packages.
- Updates to http://casa.nrao.edu/installlinux.shtml
The package repository on casa.nrao.edu
- must contain,
- the last three CASA release packages for all supported OSs,
- all CASA stable packages for the current development cycle (typically up to 6) for all supported OSs,
- all CASA prerelease packages leading up to the current release (assuming 6 for now) - to be removed once that release is complete.
- may only contain tested packages.
- This is to prevent users from installing untested software.
- may only contain complete packages.
- This is to simplify mirroring. In the past, package publishing in progress has corrupted mirrors.
- must fit within limited disk space.
- NRAO web servers have limited disk space. We can ask for disk space we require, but we can't expect this to grow without bounds.
- The package repository on casa.nrao.edu will be managed by the user "casaadm".
- This is a shared user account accessible by signed ssh key. Assigning tasks to shared user accounts allows us to move work around within the project easily and prevents work from being blocked when a critical person is unavailable.
- After a package has been tested, the casaadm user will run a script to copy the tested package from https://svn.cv.nrao.edu/casa/* to a private buffer on casa.nrao.edu on the same file system as the public repository. After the package has been completely copied, the script will move the package within the file system to the public repository.
- See requirements 2, 3.
- Implementation suggested by Koji Nakamura. cp can take a long time. mv within a file system is as close to instantaneous as we are likely to get.
- A cron job will run periodically to delete packages from the public repository that are no longer required.
(Note: replace this note with a one paragraph summary of the implementation for this project, a short bullet list of implementation details, or link(s) other pages documenting the implementation for this project. Often, this will be a bullet list including the location for any source code in change control and any user accounts or computers required by this project.)
Project tasks are tracked with Jira sub-tasks under this project's master task. See CAS-5880