add a new site attribute site.tftpflags which used to specify the tftpd parameters

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13801 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
daniceexi 2012-09-14 12:40:18 +00:00
parent 827a711e6b
commit dded0c9f2d
3 changed files with 17 additions and 18 deletions

View File

@ -943,6 +943,8 @@ site => {
" mgmt node.\n\n".
" timezone: (e.g. America/New_York)\n\n".
" tftpdir: tftp directory path. Default is /tftpboot\n\n".
" tftpflags: The flags that used to start tftpd. Default is \'-v -l -s /tftpboot \n".
" -m /etc/tftpmapfile4xcat.conf\' if tftplfags is not set\n\n".
" useNmapfromMN: When set to yes, nodestat command should obtain the node status\n".
" using nmap (if available) from the management node instead of the\n".
" service node. This will improve the performance in a flat network.\n\n".

View File

@ -969,6 +969,8 @@ site => {
" mgmt node.\n\n".
" timezone: (e.g. America/New_York)\n\n".
" tftpdir: tftp directory path. Default is /tftpboot\n\n".
" tftpflags: The flags that used to start tftpd. Default is \'-v -l -s /tftpboot \n".
" -m /etc/tftpmapfile4xcat.conf\' if tftplfags is not set\n\n".
" useNmapfromMN: When set to yes, nodestat command should obtain the node status\n".
" using nmap (if available) from the management node instead of the\n".
" service node. This will improve the performance in a flat network.\n\n".

View File

@ -1437,7 +1437,7 @@ sub enable_TFTPhpa
push @newcfgfile, $_;
}
} elsif (/^\s*disable\s*=/ && !/^\s*disable\s*=\s*yes/) {
# enable the tftp by handling the entry 'disable = xx'
# disable the tftp by handling the entry 'disable = yes'
my $newcfg = $_;
$newcfg =~ s/=.*$/= yes/;
push @newcfgfile, $newcfg;
@ -1475,24 +1475,10 @@ sub enable_TFTPhpa
}
}
}
# /usr/sbin/in.tftpd -V
# tftp-hpa 0.49, with remap, with tcpwrappers
#
# start xinetd
#my $rc = xCAT::Utils->startService("xinetd");
#if ($rc != 0)
#{
# xCAT::MsgUtils->message("S", " Failed to start xinetd.");
# return 1;
#}
#xCAT::MsgUtils->message("S", " The tftp-hpa has been reconfigured.");
}
}
# get the version of TCP/IP protocol
my $protocols;
my $v4only="-4 ";
open($protocols,"<","/proc/net/protocols");
@ -1507,13 +1493,22 @@ sub enable_TFTPhpa
} else {
$v4only="";
}
# get the tftpflags which set by customer
my $tftpflags = xCAT::Utils->get_site_attribute("tftpflags");
my $startcmd = "/usr/sbin/in.tftpd $v4only -v -l -s $tftpdir -m /etc/tftpmapfile4xcat.conf";
if ($tftpflags) {
$startcmd = "/usr/sbin/in.tftpd $v4only $tftpflags";
}
if (-x "/usr/sbin/in.tftpd") {
system("killall in.tftpd"); #xinetd can leave behind blocking tftp servers even if it won't start new ones
my @tftpprocs=`ps axf|grep -v grep|grep in.tftpd`;
while (@tftpprocs) {
sleep 0.1;
}
system("/usr/sbin/in.tftpd $v4only -v -l -s /tftpboot -m /etc/tftpmapfile4xcat.conf");
system("$startcmd");
}
return 0;