ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/XCMSI/modules/GridInstall_help.pm
Revision: 1.4
Committed: Fri Jun 24 01:39:53 2005 UTC (19 years, 10 months ago) by krabbert
Content type: text/plain
Branch: MAIN
CVS Tags: XCMSI_0_9a, XCMSI_0_9
Changes since 1.3: +113 -59 lines
Log Message:
Many changes: new webserver, phedex, override option, server list for download

File Contents

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