2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-06-12 17:30:19 +00:00

Modify the way of getHMCcontrolIP, handle different condition way of fsp/bap with HMC.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@9584 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
yinle
2011-05-12 15:19:10 +00:00
parent 20d12b8c30
commit cfc0a0c2a6

View File

@ -1315,23 +1315,28 @@ sub getHMCcontrolIP
#get node ip from hmc
my $nodes_found = lssyscfg( $exp, "$type", "$node","name,ipaddr,ipaddr_secondary" );
my $tab = xCAT::Table->new("vpd");
my $ent;
if ($tab) {
$ent = $tab->getNodeAttribs($node, ['serial', 'mtm']);
}
my $serial = $ent->{'serial'};
my $mtm = $ent->{'mtm'};
my $mtms = $mtm . '*' . $serial;
my $nodes_found = lssyscfg( $exp, "$type", "$mtms");
my @ips;
my $ip_result;
if ( @$nodes_found[0] eq SUCCESS ) {
my $Rc = shift(@$nodes_found);
#foreach my $mtms ( @$nodes_found ) {
my @newnodes = split(/,/, $nodes_found->[0]);
if ( $node eq $newnodes[0] ) {
if(xCAT::Utils->isIpaddr($newnodes[1])) {
push @ips, $newnodes[1];
}
if(xCAT::Utils->isIpaddr($newnodes[2])) {
push @ips, $newnodes[2];
}
$ip_result = join( ",", @ips );
}
#}
my @newnodes = split(/,/, $nodes_found->[0]);
$Rc = shift(@newnodes);
for my $entry (@newnodes) {
if(xCAT::Utils->isIpaddr($entry)) {
push @ips,$entry;
}
$ip_result = join( ",", @ips );
}
}
return $ip_result;
}