ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/XCMSI/modules/GridInstall_help.pm
Revision: 1.7
Committed: Wed Jul 19 14:49:53 2006 UTC (18 years, 9 months ago) by corvo
Content type: text/plain
Branch: MAIN
CVS Tags: pe20060726
Changes since 1.6: +13 -1 lines
Log Message:
Added comments on options --site and --style

File Contents

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