Updating Software in OASIS¶
OASIS is the OSG Application Software Installation Service. It is the recommended method to install software on the Open Science Grid. It is implemented using CernVM FileSystem (CVMFS) technology.
This document is a step by step explanation of how a Virtual Organization (VO) Software Administrator can enable use of the shared OASIS service and use it to publish and update software on OSG Worker Nodes under /cvmfs/oasis.opensciencegrid.org
.
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.
Note
For information on how to configure a client for OASIS see the CVMFS installation documentation.
Requirements¶
To begin the process to distribute software on OASIS using the service hosted by OSG Operations, you must:
- Obtain a personal grid certificate, if you don't have one already.
- Register yourself as a contact in OSG Topology
- Request to be associated with a VO registered in Topology.
How to use OASIS¶
Enable OASIS¶
When you are ready to distribute your software with OASIS, submit a support ticket with a request to enable OASIS for your VO. In your request, please specify your VO and provide a list of people who will install and administer the VO software in OASIS.
OSG Operations will set UseOASIS
to true for your VO in OSG topology and add your list of administrators to the "OASIS Managers" list (which is near the bottom of the page of information about each VO in Topology). oasis-login will then grant access to the people who are listed as OASIS managers. Any time the list is to be modified, submit another ticket.
Log in with GSISSH¶
The next step is to generate a proxy and log into oasis-login.opensciencegrid.org
with gsissh
. These commands should be run on a computer that has the OSG worker node client software. First make sure that your grid certificate is installed in ~/.globus/usercred.p12
on that computer and that it is mode 600, then run these commands:
[email protected] $ voms-proxy-init
[email protected] $ gsissh -o GSSAPIDelegateCredentials=yes oasis-login.opensciencegrid.org
In case the user can be mapped to more than one account, specify it explicitly in a command like this
[email protected] $ gsissh -o GSSAPIDelegateCredentials=yes ouser.<VO>%@oasis-login.opensciencegrid.org
Change <VO>
for the name of the Virtual Organization you are trying to access.
Instead of putting -o GSSAPIDelegateCredentials=yes
on the command line, you can put it in your ~/.ssh/config
like this:
Host oasis-login.opensciencegrid.org
GSSAPIDelegateCredentials yes
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 (oasis.opensciencegrid.org). There is a symbolic link at /cvmfs/oasis.opensciencegrid.org/$VO
that points to the same staging area.
Request an oasis publish with this command:
[email protected] $ 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.
Testing¶
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/oasis.opensciencegrid.org
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
[email protected] # cvmfs_talk -i oasis.opensciencegrid.org 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:
[email protected] $ date -d "1970-1-1 GMT + $(wget -qO- $(attr -qg host /cvmfs/oasis.opensciencegrid.org)/.cvmfspublished | \
cat -v|sed -n '/^T/{s/^T//p;q;}') sec"