5 =head1 NAME $RCSfile: vobservers.cgi,v $
15 Andrew DeFaria <Andrew@ClearSCM.com>
23 Mon Oct 25 11:10:47 PDT 2008
27 $Date: 2011/01/02 15:25:42 $
33 Usage vobservers.cgi: [-u|sage] [-r|egion <region>]
37 -u|sage: Displays usage
38 -r|egion <region>: Region to use when looking for the view
41 -d|ebug: Output debug messages
45 This script display the details for all vob servers in the region
54 use CGI qw (:standard :cgi-lib *table start_Tr end_Tr start_ol end_ol);
55 use CGI::Carp 'fatalsToBrowser';
57 use lib "$FindBin::Bin/lib", "$FindBin::Bin/../lib";
61 use Clearcase::Server;
69 $opts{region} ||= $Clearcase::CC->region if $Clearcase::CC;
71 my $subtitle = 'Vob Servers';
73 my $VERSION = '$Revision: 1.9 $';
74 ($VERSION) = ($VERSION =~ /\$Revision: (.*) /);
81 }, "Vobs on " . $server->name;
87 -class => 'labelCentered',
90 -class => 'labelCentered',
93 -class => 'labelCentered',
96 -class => 'labelCentered',
99 -class => 'labelCentered',
102 -class => 'labelCentered',
108 my $vobs = Clearcase::Vobs->new($server->name);
110 for (sort $vobs->vobs) {
111 my $vob = Clearcase::Vob->new($_);
115 -class => 'dataCentered',
119 }, a {-href => "vobdetails.cgi?tag=" . $vob->tag}, $vob->tag;
121 -class => 'dataCentered',
124 -class => 'dataCentered',
128 }, $vob->access_path;
131 }, $vob->vob_registry_attributes;
138 sub DisplayTable (@) {
139 my (@vobServers) = @_;
141 my $unknown = font {-class => 'unknown'}, 'Unknown';
143 display start_table {
150 -class => 'labelCentered',
153 -class => 'labelCentered',
156 -class => 'labelCentered',
159 -class => 'labelCentered',
162 -class => 'labelCentered',
165 -class => 'labelCentered',
168 -class => 'labelCentered',
171 -class => 'labelCentered',
180 $server = Clearcase::Server->new ($_, $opts{region});
184 -class => 'dataCentered',
187 -class => 'dataCentered',
188 }, a {-href => "systemdetails.cgi?system=" . $server->name}, $server->name;
190 -class => 'dataCentered',
193 -class => 'dataCentered',
196 -class => 'dataCentered',
197 }, $server->hardware;
199 -class => 'dataCentered',
200 }, a {-href => "systemdetails.cgi?system=" . $server->registryHost}, $server->registryHost;
202 -class => 'dataCentered',
203 }, $server->registryRegion;
205 -class => 'dataCentered',
206 }, $server->licenseHost;
211 -class => 'labelCentered',
214 -class => 'labelCentered',
217 -class => 'labelCentered',
220 -class => 'labelCentered',
221 }, 'Free Mnodes Cleartext';
223 -class => 'labelCentered',
226 -class => 'labelCentered',
227 }, 'Directory names';
229 -class => 'labelCentered',
230 }, 'Blocks Per Directory';
232 -class => 'labelCentered',
233 }, 'Names not found';
238 -class => 'dataCentered',
241 -class => 'dataCentered',
242 }, $server->scalingFactor;
244 -class => 'dataRight',
245 }, $server->mvfsFreeMnodes;
247 -class => 'dataRight',
248 }, $server->mvfsFreeMnodesCleartext;
250 -class => 'dataRight',
251 }, $server->mvfsFileNames;
253 -class => 'dataRight',
254 }, $server->mvfsDirectoryNames;
256 -class => 'dataRight',
257 }, $server->mvfsBlocksPerDirectory;
259 -class => 'dataRight',
260 }, $server->mvfsNamesNotFound;
265 -class => 'labelCentered',
268 -class => 'labelCentered',
269 }, 'Cleartext Idle Lifetime';
271 -class => 'labelCentered',
274 -class => 'labelCentered',
277 -class => 'labelCentered',
280 -class => 'labelCentered',
283 -class => 'labelCentered',
286 -class => 'labelCentered',
287 }, 'Initial Mnode Table Size';
292 -class => 'dataRight',
293 }, $server->mvfsRPCHandles;
295 -class => 'dataRight',
296 }, $server->cleartextIdleLifetime;
298 -class => 'dataRight',
299 }, $server->vobHashTableSize;
301 -class => 'dataRight',
302 }, $server->cleartextHashTableSize;
304 -class => 'dataRight',
305 }, $server->threadHashTableSize;
307 -class => 'dataRight',
308 }, $server->dncHashTableSize;
310 -class => 'dataRight',
311 }, $server->processHashTableSize;
313 -class => 'dataRight',
314 }, $server->mvfsInitialMnodeTableSize;
328 'usage' => sub { Usage },
329 'verbose' => sub { set_verbose },
330 'debug' => sub { set_debug },
332 ) or Usage "Invalid parameter";
335 verbose "$FindBin::Script v$VERSION";
343 my ($status, @output) = $Clearcase::CC->execute (
344 "lsvob -region $opts{region} -long"
347 error "Unable to list all vobs in the region $opts{region}"
348 . join ("\n", @output), 1
354 if (/Server host: (.*)/) {
355 $vobServers{$1} = undef;
359 DisplayTable sort (keys (%vobServers));
365 =head1 CONFIGURATION AND ENVIRONMENT
367 DEBUG: If set then $debug is set to this level.
369 VERBOSE: If set then $verbose is set to this level.
371 TRACE: If set then $trace is set to this level.
379 L<CGI::Carp|CGI::Carp>
383 L<Getopt::Long|Getopt::Long>
385 =head2 ClearSCM Perl Modules
400 <a href="http://clearscm.com/php/scm_man.php?file=clearadm/lib/ClearadmWeb.pm">ClearadmWeb</a><br>
401 <a href="http://clearscm.com/php/scm_man.php?file=lib/Clearcase.pm">Clearcase</a><br>
402 <a href="http://clearscm.com/php/scm_man.php?file=lib/Clearcase/Server.pm">Clearcase::Server</a><br>
403 <a href="http://clearscm.com/php/scm_man.php?file=lib/Display.pm">Display</a><br>
404 <a href="http://clearscm.com/php/scm_man.php?file=lib/Utils.pm">Utils</a><br>
409 =head1 BUGS AND LIMITATIONS
411 There are no known bugs in this script
413 Please report problems to Andrew DeFaria <Andrew@ClearSCM.com>.
415 =head1 LICENSE AND COPYRIGHT
417 Copyright (c) 2010, ClearSCM, Inc. All rights reserved.