c99d72a179
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@2 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
72 lines
1.4 KiB
Perl
72 lines
1.4 KiB
Perl
#!/usr/bin/perl
|
|
use strict;
|
|
use Getopt::Long;
|
|
|
|
$::XCATROOT = "";
|
|
GetOptions('web' => \$::HTML,
|
|
'h|help' => \$::HELP);
|
|
|
|
if($::HELP){
|
|
print "$0 --help prints this help message\n";
|
|
print "$0 prints attributes with nodes\n";
|
|
print "$0 --html prints attributes with nodes with html parameters\n\n" ;
|
|
exit 0;
|
|
}
|
|
|
|
|
|
if(-f "/etc/sysconfig/xcat"){
|
|
$::XCATROOT=`awk -F= '{print \$2}' /etc/sysconfig/xcat`;
|
|
chomp($::XCATROOT);
|
|
if($::XCATROOT eq ""){
|
|
print "XCATROOT not defined in /etc/sysconfig/xcat!\n";
|
|
exit;
|
|
}
|
|
}else{
|
|
print "file /etc/sysconfig/xcat doesn't exist\n";
|
|
exit;
|
|
}
|
|
#print "$::XCATROOT\n";
|
|
my $f = "$::XCATROOT/etc/nodelist.tab";
|
|
unless(-f "$f"){
|
|
print "$f doesn't exist!\n";
|
|
exit 1;
|
|
}
|
|
my $nh;
|
|
open(FILE, "$f") or die "can't open $f!";
|
|
while(my $line = <FILE>){
|
|
chomp $line;
|
|
# skip lines that start with # or with a space and then #
|
|
if($line =~ /^\s*#/){ next; }
|
|
|
|
# skip lines that are blank
|
|
if($line =~ /^$/){ next; }
|
|
|
|
my ($node,$attrs) = split(/\s+/, $line);
|
|
#print "$node\n";
|
|
my @attrs = split(/,/, $attrs);
|
|
foreach my $a (@attrs){
|
|
#print "$a\n";
|
|
if($a ne ""){
|
|
push @{$nh->{$a}}, $node;
|
|
}
|
|
}
|
|
}
|
|
if($::HTML){ print "<ul id='nodelist'>\n"; }
|
|
foreach (sort keys %$nh){
|
|
if($::HTML){
|
|
print "<li>$_\n";
|
|
print "<ul>\n";
|
|
foreach(sort @{$nh->{$_}}){
|
|
print "<li>$_</li>\n";
|
|
}
|
|
print "</ul></li>\n";
|
|
|
|
}else{
|
|
print $_ . ":\n";
|
|
foreach(@{$nh->{$_}}){
|
|
print "\t$_\n";
|
|
}
|
|
}
|
|
}
|
|
if($::HTML){ print "</ul>\n"; }
|