ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/XCMSI/modules/GridInstall_help.pm
Revision: 1.5
Committed: Wed Oct 19 10:51:41 2005 UTC (19 years, 6 months ago) by krabbert
Content type: text/plain
Branch: MAIN
Changes since 1.4: +4 -2 lines
Log Message:
Added hint for -s site, added sw name to grid jdl

File Contents

# User Rev Content
1 corvo 1.1 #!/usr/bin/perl
2 krabbert 1.5 # $Id: GridInstall_help.pm,v 1.4 2005/06/24 01:39:53 krabbert Exp $
3 krabbert 1.3 # last modified:
4 krabbert 1.5 # kr, 19.10.2005: Added hints for site option, e.g. -s "\.de:2119"
5 krabbert 1.4 # kr, 20.06.2005: Updated considerably the help text
6 krabbert 1.3 # kr, 17.02.2005: Change on-request im/export to auto-im/export
7 corvo 1.1 package GridInstall_help;
8    
9     use Cwd;
10 krabbert 1.3 use site_utils;
11 corvo 1.1 our (@ISA, @EXPORT, @EXPORT_OK);
12     use Exporter;
13     @ISA = qw(Exporter);
14 krabbert 1.3 @EXPORT = qw(&help);
15 corvo 1.1
16     sub help {
17    
18 krabbert 1.4 my $option = shift or 'man';
19     $helpStr = "
20 corvo 1.1
21     =pod
22    
23     =head1 NAME
24    
25 krabbert 1.4 cmsg.pl (Version 0.9)
26 corvo 1.1
27     =head1 SYNOPSIS
28    
29 krabbert 1.4 cmsg.pl [I<options>]
30 corvo 1.1
31     =head1 DESCRIPTION
32    
33 krabbert 1.4 cmsg is a Perl program intended to simplify the process of creation and
34     submission of CMS software installation jobs. The program is able to
35     generate scripts for different CMS software types (rpm, dar, tar) and
36     submit them to a given site.
37    
38     This script is based on queries on LCG BDIIs, that is on the LCG Information
39     system. It asks a given site, or site set, for the published software tags
40     (e.g. VO-cms-ORCA_8_6_0) and, according to the answer, performs the
41 corvo 1.1 best action, either full \"from scratch\" installation, or a simple upgrade.
42    
43 krabbert 1.4 Then it updates the site Information System with the latest installed
44     software tag(s).
45 corvo 1.1
46 krabbert 1.4 Multiple software installations are supported. The core installation script
47     is I<cmsi>.
48 corvo 1.1
49 krabbert 1.4 cmsg relies on a set of different perl fragments, which can be combined to
50     perform the right installation according to the chosen software flavour.
51 corvo 1.1
52 krabbert 1.4 Once, perl scripts and jdl files have been assembled, jobs are submitted to
53     the targeted Compute Elements (CEs). Landed on Worker Nodes (WNs),
54     the scripts check the environment, notably the environment variable
55     \$VO_CMS_SW_DIR where CMS software is supposed to be installed.
56     Then I<cmsi> starts downloading and installing.
57 corvo 1.1
58 krabbert 1.4 Finally the Information System is updated with the publishing of the new
59     software tags.
60 corvo 1.1
61     =head1 OPTIONS
62    
63     =over 4
64    
65 krabbert 1.4 =item B<-c, --check> I< software name >
66    
67     Do not use, yet!
68    
69 corvo 1.1 =item B<-i, --install> I< software name >
70    
71 krabbert 1.4 Declares the software you want to install. It is possible to declare multiple
72     software tags, e.g. --install \"ORCA_8_6_0 OSCAR_3_6_1\".
73    
74     =item B<-p, --prepare> I< software name >
75    
76     Prepackage the software you want to install, do not use, yet!
77    
78     =item B<-v, --validate> I< software name >
79    
80     Declares the software you want to validate. In addition to multiple software
81     tags like in the installation you can use \"*\" to validate everything
82     installed.
83 corvo 1.1
84     =item B<-u, --uninstall> I< software name >
85    
86 krabbert 1.4 Declares the software you want to uninstall. Do not use yet on the grid!
87    
88 corvo 1.1
89    
90 krabbert 1.4 =item B<-a, --arch> I< architecture >
91    
92     Force architecture to use for installation instead of the one found on the CE.
93    
94     =item B<-b, --bdii> I< bdii >
95    
96     Defines the BDII to retrieve sites' software tag. LCG has no hierarchical
97     Information System, so one has to define \'a priori\' the BDII providing
98     information on the chosen site to install. CMS has an official BDII, that is
99     lxn1187.cern.ch (default). There is also a \'test zone\' BDII, lxn1189.cern.ch,
100     containing sites which are not yet LCG certified.
101    
102     =item B<-d, --dir> I< subdirectory >
103    
104     Defines a subdirectory of \$VO_CMS_SW_DIR to install into in order to support
105     multiple installations in parallel. Default is no subdirectory.
106 corvo 1.1
107 krabbert 1.4 =item B<-h, --help>
108 corvo 1.1
109 krabbert 1.4 Provides this text.
110 corvo 1.1
111     =item B<-l, --label> I< software tag >
112    
113 krabbert 1.4 Defines the software tag you are going to publish on a site Information System.
114     Conventionally CMS adopted VO-cms-I< software name > which is the default.
115     In addition, on a given CE a tag specifying the architecture, e.g.
116     VO-cms-slc3_ia32_gcc323, attributed to it by CMS will be published
117     automatically.
118    
119     =item B<-o, --org> I< virtual organization >
120    
121     Your Virtual Organization. Default is \'cms\'. The script selects
122     for installation only those sites belonging to the given VO.
123     The user must have a valid grid certificate to be recognized by the
124     information system.
125    
126     =item B<-s, --site> I< site >
127    
128     Declares where you would like to install the given software. It can be a
129     single CE or a fully qualified domain name like gridit001.pd.infn.it resp.
130 krabbert 1.5 infn.it. If you want to make sure to have e.g. .de at the end of the CE
131     name use \.de:2119 or \.de: in quoted form. 2119 is the usual port number.
132 corvo 1.1
133 krabbert 1.4 =item B<-t, --type> I< software type >
134 corvo 1.1
135 krabbert 1.4 Declares the kind of distribution package format you are going to use.
136     Possible value are rpm, dar or tar.
137 corvo 1.1
138 krabbert 1.4 =item B<-x, --xchange> I< config_var=value >
139 corvo 1.1
140 krabbert 1.4 Replaces the default value of a configuration variable of cmsi.pl.
141     This is useful e.g. to use a locally different version of RFIO by defining
142     -x \"RFIO_SHIFT_PATH=/usr/local/lib\". Multiple replacements can be made
143     by quoting a blank-separated list (\"var_1=value_1 var_2=value_2\").
144 corvo 1.1
145     =back
146    
147     =head1 EXAMPLES
148    
149 krabbert 1.4 cmsg.pl --install ORCA_8_6_0 -t rpm --site pd.infn.it
150 corvo 1.1
151 krabbert 1.4 Installs ORCA, version 860 and rpm flavour, in Padova and publishes the
152     tag VO-cms-ORCA_8_6_0.
153 corvo 1.1
154 krabbert 1.4 cmsg.pl --install ORCA_8_6_0 -t rpm --site ekp-lcg-ui.physik.uni-karlsruhe.de
155     --label VO-cms-ORCA_8_6_0 --bdii lxn1189.cern.ch\n
156 corvo 1.1
157 krabbert 1.4 Installs ORCA, version 860 and rpm flavour, at the University of Karlsruhe
158     querying the \"test BDII\" at CERN.
159 corvo 1.1
160 krabbert 1.4 cmsg.pl --install CMKIN_3_2_0 -t tar --site pd.infn.it --label VO-cms-CMKIN_3_2_0_dar\n
161 corvo 1.1
162 krabbert 1.4 Installs CMKIN, version 320 and tar flavour, in Padova.
163 corvo 1.1
164 krabbert 1.4 cmsg.pl --validate ORCA_8_2_0 -t rpm --site pd.infn.it --label VO-cms-ORCA_8_2_0\n
165 corvo 1.1
166 krabbert 1.4 Validates ORCA, version 820 and rpm flavour, in Padova.
167 corvo 1.1
168     =head1 ENVIRONMENT
169    
170 krabbert 1.4 If a user wants to submit jobs in the LCG, which is default, it is necessary
171     to create a proxy certificate with
172 corvo 1.1
173 krabbert 1.4 grid-proxy-init
174 corvo 1.1
175     =cut";
176    
177 krabbert 1.4 my $pod = getcwd() . '/cmsg.pod';
178     open($fh, ">$pod");
179     print ($fh $helpStr);
180     close $fh;
181     my $man = getcwd() . '/cmsg.man';
182     my $pod2man = 'pod2man --center=" " --release=" " ' . $pod . ' > ' . $man;
183     &execSys($pod2man);
184     my $cmd = 'man '. $man;
185     system($cmd);
186     exit;
187 corvo 1.1 }