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
Log Message:
Corrected description to use type apt instead style new

File Contents

# User Rev Content
1 corvo 1.1 #!/usr/bin/perl
2 krabbert 1.8 # $Id: GridInstall_help.pm,v 1.7 2006/07/19 14:49:53 corvo Exp $
3 krabbert 1.3 # last modified:
4 krabbert 1.8 # kr, 24.08.2006: Use existing type switch instead of style
5 corvo 1.7 # mc, 19.07.2006: Switch to new style installation with apt-get
6 krabbert 1.5 # kr, 19.10.2005: Added hints for site option, e.g. -s "\.de:2119"
7 krabbert 1.4 # kr, 20.06.2005: Updated considerably the help text
8 krabbert 1.3 # kr, 17.02.2005: Change on-request im/export to auto-im/export
9 corvo 1.1 package GridInstall_help;
10    
11     use Cwd;
12 krabbert 1.3 use site_utils;
13 corvo 1.1 our (@ISA, @EXPORT, @EXPORT_OK);
14     use Exporter;
15     @ISA = qw(Exporter);
16 krabbert 1.3 @EXPORT = qw(&help);
17 corvo 1.1
18     sub help {
19    
20 krabbert 1.4 my $option = shift or 'man';
21     $helpStr = "
22 corvo 1.1
23     =pod
24    
25     =head1 NAME
26    
27 krabbert 1.4 cmsg.pl (Version 0.9)
28 corvo 1.1
29     =head1 SYNOPSIS
30    
31 krabbert 1.4 cmsg.pl [I<options>]
32 corvo 1.1
33     =head1 DESCRIPTION
34    
35 krabbert 1.4 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 corvo 1.1 best action, either full \"from scratch\" installation, or a simple upgrade.
44    
45 krabbert 1.4 Then it updates the site Information System with the latest installed
46     software tag(s).
47 corvo 1.1
48 krabbert 1.4 Multiple software installations are supported. The core installation script
49     is I<cmsi>.
50 corvo 1.1
51 krabbert 1.4 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 corvo 1.1
54 krabbert 1.4 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 corvo 1.1
60 krabbert 1.4 Finally the Information System is updated with the publishing of the new
61     software tags.
62 corvo 1.1
63     =head1 OPTIONS
64    
65     =over 4
66    
67 krabbert 1.4 =item B<-c, --check> I< software name >
68    
69     Do not use, yet!
70    
71 corvo 1.1 =item B<-i, --install> I< software name >
72    
73 krabbert 1.4 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 corvo 1.1
86     =item B<-u, --uninstall> I< software name >
87    
88 krabbert 1.4 Declares the software you want to uninstall. Do not use yet on the grid!
89    
90 corvo 1.1
91    
92 krabbert 1.4 =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 corvo 1.1
109 krabbert 1.4 =item B<-h, --help>
110 corvo 1.1
111 krabbert 1.4 Provides this text.
112 corvo 1.1
113     =item B<-l, --label> I< software tag >
114    
115 krabbert 1.4 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 krabbert 1.6 =item B<-n, --nosub>
122    
123     Inhibits actual job submission for debugging purposes.
124    
125 krabbert 1.4 =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 krabbert 1.5 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 corvo 1.7 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 corvo 1.1
141 krabbert 1.4 =item B<-t, --type> I< software type >
142 corvo 1.1
143 krabbert 1.4 Declares the kind of distribution package format you are going to use.
144 krabbert 1.8 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 corvo 1.7
148 krabbert 1.4 =item B<-x, --xchange> I< config_var=value >
149 corvo 1.1
150 krabbert 1.4 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 corvo 1.1
155     =back
156    
157     =head1 EXAMPLES
158    
159 krabbert 1.4 cmsg.pl --install ORCA_8_6_0 -t rpm --site pd.infn.it
160 corvo 1.1
161 krabbert 1.4 Installs ORCA, version 860 and rpm flavour, in Padova and publishes the
162     tag VO-cms-ORCA_8_6_0.
163 corvo 1.1
164 krabbert 1.4 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 corvo 1.1
167 krabbert 1.4 Installs ORCA, version 860 and rpm flavour, at the University of Karlsruhe
168     querying the \"test BDII\" at CERN.
169 corvo 1.1
170 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
171 corvo 1.1
172 krabbert 1.4 Installs CMKIN, version 320 and tar flavour, in Padova.
173 corvo 1.1
174 corvo 1.7 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 krabbert 1.4 cmsg.pl --validate ORCA_8_2_0 -t rpm --site pd.infn.it --label VO-cms-ORCA_8_2_0\n
179 corvo 1.1
180 krabbert 1.4 Validates ORCA, version 820 and rpm flavour, in Padova.
181 corvo 1.1
182     =head1 ENVIRONMENT
183    
184 krabbert 1.4 If a user wants to submit jobs in the LCG, which is default, it is necessary
185     to create a proxy certificate with
186 corvo 1.1
187 krabbert 1.4 grid-proxy-init
188 corvo 1.1
189     =cut";
190    
191 krabbert 1.4 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 corvo 1.1 }