Skip to content

Updating Software in OASIS

OASIS is the OSG Application Software Installation Service that can be used to publish and update software on OSG Worker Nodes under /cvmfs/ It is implemented using CernVM FileSystem (CVMFS) technology and is the recommended method to make software available to researchers in the OSG Consortium.

This document is a step by step explanation of how a member of a Virtual Organization (VO) can become an OASIS manager for their VO and gain access to the shared OASIS service for software management. The shared OASIS service is especially appropropriate for VOs that have a relatively small number of members and a relatively small amount of software to distribute. Larger VOs should consider hosting their own separate repositories.


For information on how to configure an OASIS client see the CVMFS installation documentation.


To begin the process to distribute software on OASIS using the service, you must:

  • Register as an OSG contact and upload your SSH Key.
  • Submit a request to to become an OASIS manager with the following:
    • The names of the VO(s) whose software that you would like to manage with the shared OASIS login host
    • The names of any other VO members that should be OASIS managers
    • The name of a member of the VO(s) that can verify your affiliation, and Cc that person on your emailed request

How to use OASIS

Log in with SSH

The shared OASIS login server is accessible via SSH for all OASIS managers with registered SSH keys:

user@host $ ssh -i <PATH TO SSH KEY> ouser.<VO>

Change <VO> for the name of the Virtual Organization you are trying to access and <PATH TO SSH KEY> with the path to the private part of the SSH key whose public part you registered with the OSG.

Instead of putting -i <PATH TO SSH KEY> or ouser.<VO>@ on the command line, you can put it in your ~/.ssh/config:

User ouser.<VO>
IdentityFile <PATH TO SSH KEY>

Install and update software

Once you log in, you can add/modify/remove content on a staging area at /stage/oasis/$VO where $VO is the name of the VO represented by the manager.

Files here are visible to both oasis-login and the Stratum 0 server ( There is a symbolic link at /cvmfs/$VO that points to the same staging area.

Request an oasis publish with this command:

user@host $ osg-oasis-update

This command queues a process to sync the content of OASIS with the content of /stage/oasis/$VO

osg-oasis-update returns immediately, but only one update can run at a time (across all VOs); your request may be queued behind a different VO. If you encounter severe delays before the update is finished being published (more than 4 hours), please file a support ticket.

Limitations on repository content

Although CVMFS provides a POSIX filesystem, it does not work well with all types of content. Content in OASIS is expected to adhere to the CVMFS repository content limitations so please review those guidelines carefully.


After osg-oasis-update completes and the changes have been propagated to the CVMFS stratum 1 servers (typically between 0 and 60 minutes, but possibly longer if the servers are busy with updates of other repositories) then the changes can be visible under /cvmfs/ on a computer that has the CVMFS client installed. A client normally only checks for updates if at least an hour has passed since it last checked, but people who have superuser access on the client machine can force it to check again with

root@host # cvmfs_talk -i remount

This can be done while the filesystem is mounted (despite the name, it does not do an OS-level umount/mount of the filesystem). If the filesystem is not mounted, it will automatically check for new updates the next time it is mounted.

In order to find out if an update has reached the CVMFS stratum 1 server, you can find out the latest osg-oasis-update time seen by the stratum 1 most favored by your CVMFS client with the following long command on your client machine:

user@host $ date -d "1970-1-1 GMT + $(wget -qO- $(attr -qg host /cvmfs/ | \
                                                            cat -v|sed -n '/^T/{s/^T//p;q;}') sec"


CVMFS Documentation

Back to top