ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/XCMSI/modules/GridInstall_help.pm
Revision: 1.8
Committed: Thu Aug 24 17:36:47 2006 UTC (18 years, 8 months ago) by krabbert
Content type: text/plain
Branch: MAIN
CVS Tags: XCMSI_1_0_1, XCMSI_1_0_0, XCMSI_0_9_1, HEAD
Changes since 1.7: +5 -7 lines
Error occurred while calculating annotation data.
Log Message:
Corrected description to use type apt instead style new

File Contents

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