xcatconfig -m add mn to the servicenode table defect 3308
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@15174 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
24003e0910
commit
f942046a68
@ -2063,7 +2063,8 @@ sub cleanupPSTable
|
||||
|
||||
=head3 setupMNinDB
|
||||
|
||||
Will add/replace the management node to the database with group=__mgmtnode
|
||||
Will add/replace the management node to the noderes table with group=__mgmtnode
|
||||
Will add/replace the management node to the servicenode tble with group=__mgmtnode
|
||||
|
||||
|
||||
=cut
|
||||
@ -2075,15 +2076,17 @@ sub setupMNinDB
|
||||
chomp $mnname;
|
||||
$mnname && $mnname =~ s/\..*//; # strip off domain
|
||||
|
||||
# check to see if MN already defined in the database
|
||||
my $cmds ="XCATBYPASS=Y $::XCATROOT/sbin/tabdump nodelist | grep __mgmtnode";
|
||||
# check to see if MN already defined in the nodelist
|
||||
|
||||
my $defined = 0;
|
||||
my $cmds="XCATBYPASS=Y $::XCATROOT/sbin/tabdump nodelist | grep __mgmtnode";
|
||||
my $output = xCAT::Utils->runcmd("$cmds", -1);
|
||||
if ($::RUNCMD_RC == 0) # found a management node defined
|
||||
{
|
||||
my $chtabcmds;
|
||||
my @mn = split(",", $output);
|
||||
$mn[0] =~ s/"//g; # remove the quotes
|
||||
if ($mn[0] ne $mnname) { # remove the old, if not current
|
||||
if ($mn[0] ne $mnname) { # does not match current host name,delete it
|
||||
$chtabcmds = "$::XCATROOT/sbin/chtab -d node=$mn[0] nodelist;";
|
||||
my $outref = xCAT::Utils->runcmd("$chtabcmds", 0);
|
||||
if ($::RUNCMD_RC != 0)
|
||||
@ -2091,23 +2094,50 @@ sub setupMNinDB
|
||||
xCAT::MsgUtils->message('E', "Could not run $chtabcmds.");
|
||||
return;
|
||||
}
|
||||
|
||||
} else { # already defined correctly
|
||||
return;
|
||||
} else { # it is defined and good
|
||||
xCAT::MsgUtils->message('I', "$mnname already defined in the nodelist table.");
|
||||
$defined=1;
|
||||
}
|
||||
}
|
||||
# now add with the new name , if not already there
|
||||
if ($defined ==0) {
|
||||
my $chtabcmds = "$::XCATROOT/sbin/chtab node=$mnname nodelist.groups=__mgmtnode;";
|
||||
my $outref = xCAT::Utils->runcmd("$chtabcmds", 0);
|
||||
if ($::RUNCMD_RC != 0)
|
||||
{
|
||||
xCAT::MsgUtils->message('E', "Could not add $mnname to the noderes table.");
|
||||
}
|
||||
else
|
||||
{
|
||||
verbose("Added $mnname to the noderes table.");
|
||||
}
|
||||
|
||||
}
|
||||
# now add a new one
|
||||
my $chtabcmds = "$::XCATROOT/sbin/chtab node=$mnname nodelist.groups=__mgmtnode;";
|
||||
my $outref = xCAT::Utils->runcmd("$chtabcmds", 0);
|
||||
if ($::RUNCMD_RC != 0)
|
||||
# now add to the servicenode table with default settings
|
||||
# check to see if MN already defined in the servicenode table
|
||||
my $cmds="XCATBYPASS=Y $::XCATROOT/sbin/tabdump servicenode | grep __mgmtnode";
|
||||
my $output = xCAT::Utils->runcmd("$cmds", -1);
|
||||
if ($::RUNCMD_RC != 0) # no management node defined
|
||||
{
|
||||
xCAT::MsgUtils->message('E', "Could not add $mnname to the database.");
|
||||
my $chtabcmds;
|
||||
# add to the servicenode table
|
||||
$chtabcmds =
|
||||
"$::XCATROOT/sbin/chtab node=__mgmtnode servicenode.tftpserver=no;";
|
||||
my $outref = xCAT::Utils->runcmd("$chtabcmds", 0);
|
||||
if ($::RUNCMD_RC != 0)
|
||||
{
|
||||
xCAT::MsgUtils->message('E', "Could not add $mnname to the servicenode table.");
|
||||
}
|
||||
else
|
||||
{
|
||||
verbose("Added $mnname to the servicenode table table.");
|
||||
}
|
||||
|
||||
} else { # it was already correct in the servicenode table
|
||||
xCAT::MsgUtils->message('I', "$mnname was already defined in the servicenode table.");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
verbose("Added $mnname to the database.");
|
||||
}
|
||||
return;
|
||||
return;
|
||||
}
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user