wn-client maintained by OSG and installed by system administrators
ATLAS-wn maintained by ATLAS software managers and installed by them (in $OSG_APP)
osg-version command) to see if you have the latest available (OSG 1.2.25 as of 11/11/2011 but check VDT News).
%NOTE% The examples listed (installation and update) are extremely simplified, more a reminder for people familiar with it than full instructions.
The sections automatic update and alternatives for CA and CRLs in the Advanced topics below explain some more option.
Anyway if you are installing wn-client for the first time please read the OSG twiki.
%NOTE% $OSG_GRID (set to /opt/wn in the examples) is defined in the Computing Element (CE) configuration. OSG mechanisms take care to propagate the value to the information system (BDII) and to an environment variable in the jobs runtime environment.
Install wn-client in $OSG_GRID as explained in the OSG twiki. E.g.:mkdir /opt/wn; cd /opt/wn pacman -get http://software.grid.iu.edu/osg-1.2:wn-client source setup.sh vdt-post-install vdt-ca-manage setupca --location local --url osg vdt-control --enable vdt-update-certs vdt-control --enable fetch-crl vdt-control --onAnswer
yes (or yall) to the questions during Pacman installation
To update, replace the existing wn-client (after a backup), e.g.:
mv /opt/wn /opt/old_wn mkdir /opt/wn; cd /opt/wn # continue as above%NOTE% This will cause a brief unavailability of wn-client. If you prefer not to risk to interfere with regular production jobs see the alternative (longer) installation below wn-client is all a system administrator is required to install. The ATLAS pilot will also use additional software but this one will be installed and managed by the ATLAS pilot or the ATLAS software administrator (Xin) in a subdirectory of $OSG_APP. Specifically the software will be installed in $OSG_APP/atlas_app/atlaswn/ and the package installed is ATLAS-wn ( pacman -get http://www.mwt2.org/caches/:ATLAS-wn), containing dq2-client and other ATLAS specific software auxiliary to the jobs. Anyway system administrators have not to worry about this (Just FYI).
ATLAS-wn has been created in order to rationalize and group together all middleware packages used by ATLAS (US-ATLAS) and not provided by OSG. This is installed by the ATLAS software manager on all sites running ATLAS jobs in a well known subpath of $OSG_APP (currently $OSG_APP/atlas_app/atlaswn/).
This package is similar to OSG's WN-Client in the sense that it contains software that must be available to all ATLAS jobs /opt/wn in the examples) must be defined in the environment and OSG wn-client must be installed there before starting the Pacman installation of ATLAS-wn
To install ATLAS-wn you need Pacman, e.g.:source $OSG_APP/pacman/setup.sh mkdir $OSG_APP/atlas_app/atlaswn; cd $OSG_APP/atlas_app/atlaswn pacman -get http://www.mwt2.org/caches/:ATLAS-wnTo update ATLAS-wn you can do a new install and link the previous path, e.g.:
mkdir $OSG_APP/atlas_app/atlaswn_new #install as above in $OSG_APP/atlas_app/atlaswn_new mv $OSG_APP/atlas_app/atlaswn $OSG_APP/atlas_app/atlaswn_old ln -s $OSG_APP/atlas_app/atlaswn_new $OSG_APP/atlas_app/atlaswn%NOTE% As of today ATLAS-wn is a package adding features used mainly in analysis jobs and the recommended setup is not to fail the pilot if the package is not there. This allows for updates while the site is online and running production jobs.
wn-client and ATLAS-wn setup files to have all the required clients.
Supposing that command_string contains the command you want to execute, in your program you may use something like the following Python fragment:
setup_string = "source $OSG_GRID/setup.sh"
if os.path.exists("$OSG_APP/atlas_app/atlaswn/setup.sh"):
setup_string += "; source $OSG_APP/atlas_app/atlaswn/setup.sh"
ecode, out = commands.getstatusoutput(setup_string+'; '+command_string)
wn-client is guaranteed to exist on every OSG CE, some installations may not have ATLAS-wn so it is safer to check for it.
The fragment above is a simple example, in your code you may want to add at least some exception or signals handling (try... except) and you may want to check separately for the environment variables and substitute them in the strings (e.g. using os.getenv).
vdt-control --enable vdt-update-certs vdt-control --on vdt-update-certs
vdt-control to control the services running on the machine (e.g. to list, start and stop the services):vdt-control --list vdt-control --on vdt-control --off
vdt-ca-manage allows to pick the desired CA certificates and install them in an arbitrary location, private or shared with other grid softwares.
A complete reference on available certificate sets and where to put the certificates, including an arbitrary location, is available on the VDT site.
The default installation above is self contained. This section covers two other common options to install the OSG CA certificates. You can use one of these instead of the CA installation in the instructions above.
source /opt/wlcg-client/setup.sh vdt-ca-manage setupca --location root --url osg vdt-post-installThis installation by default enables the periodic update of certificates and CRLs.
$CACERTDIR contains the path of the certificate directory, e.g. /your/cacertdir or /etc/grid-security/certificates.
To link to the existing CA installation:source /opt/wlcg-client/setup.sh ln -s $CACERTDIR $VDT_LOCATION/globus/TRUSTED_CA ln -s $CACERTDIR $VDT_LOCATION/globus/share/certificatesIf you don't make the links above your wlcg-client may work only partially.
rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpmInstall python26:
yum install python26And link
atlasosgcompat/bin/python to pythonloader, so that it will become the default python in the users PATH once they source the ATLAS-wn setup (e.g. supposing your ATLAS-wn installed in $OSG_APP/atlas_app/atlaswn/atlasosgcompat):
ln -s $OSG_APP/atlas_app/atlaswn/atlasosgcompat/bin/pythonloader $OSG_APP/atlas_app/atlaswn/atlasosgcompat/atlasosgcompat/bin/pythonpythonloader is a script executing your python scripts with the first python (executable named python or python26) with version <=2.5 present in your PATH. NOTE: If installing python26 from EPEL is not an option, then click here for instructions for possible alternatives that include a Pacman installation of Python 2.6.
ATLAS-wn-0.1.35b instead of ATLAS-wn in the install/update commands above (e.g. =pacman -get http://www.mwt2.org/caches/:ATLAS-wn-0.1.35b=).
-pretend-arch i686 (e.g. pacman -pretend-arch i686 -get wn-client) to force a 32bit installation. Pacman is actually caching this setting, so it is important you use -pretend-arch i686 the first time you install something in that directory (Pacman cache). Here is VDT documentation about -pretend-arch i686.
export VDT_PRETEND_32=1 (that was set before the VDT installation) is not working anymore.
_lfc.so) and it is compiled on a SL4.7. The Pacman installation can be in its own directory or on top of wn-client (recommended if you installed it 32 bit and you will need Python 32 bit only for it). If you wonder, no -pretend-arch i686 is needed because this package is only 32 bit, anyway it is fine if you added the option.
Please note that this site is a content mirror of the BNL US ATLAS TWiki. To edit the content of this page, click the Edit this page button at the top of the page and log in with your US ATLAS computing account name and password.