mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-30 09:36:41 +00:00
Modified configonie --ntp command (#4436)
This commit is contained in:
parent
9a8d717429
commit
ac758a9c9d
@ -350,8 +350,35 @@ sub config_snmp {
|
||||
sub config_ntp {
|
||||
my @config_switches;
|
||||
my $cmd;
|
||||
my $master;
|
||||
my $ntpservers;
|
||||
my $timezone;
|
||||
|
||||
|
||||
#get ntpserver, master and timezone from site table
|
||||
my @entries = xCAT::TableUtils->get_site_attribute("master");
|
||||
my $master = $entries[0];
|
||||
|
||||
@entries = xCAT::TableUtils->get_site_attribute("timezone");
|
||||
$timezone = $entries[0];
|
||||
|
||||
@entries = xCAT::TableUtils->get_site_attribute("ntpservers");
|
||||
my $t_entry = $entries[0];
|
||||
if (defined($t_entry)) {
|
||||
$ntpservers = $t_entry;
|
||||
} else {
|
||||
$ntpservers = $master;
|
||||
}
|
||||
|
||||
my @servers = split(',', $ntpservers);
|
||||
|
||||
#use ntpserver from network table if available
|
||||
my $nettab = xCAT::Table->new("networks");
|
||||
my @nets;
|
||||
if ($nettab) {
|
||||
@nets = $nettab->getAllAttribs('net','mask','ntpservers');
|
||||
}
|
||||
|
||||
my $master = `hostname -i`;
|
||||
|
||||
my $file = "temp.txt";
|
||||
open(FILE , ">$file")
|
||||
@ -360,7 +387,6 @@ sub config_ntp {
|
||||
print FILE "driftfile /var/lib/ntp/drift\n";
|
||||
print FILE "disable auth\n";
|
||||
print FILE "restrict 127.0.0.1\n";
|
||||
print FILE "server $master iburst\n";
|
||||
print FILE "interface listen eth0\n";
|
||||
|
||||
foreach my $switch (@nodes) {
|
||||
@ -371,15 +397,31 @@ sub config_ntp {
|
||||
xCAT::MsgUtils->message("E","xdsh command to $switch failed");
|
||||
next;
|
||||
}
|
||||
my $cmd_line = "echo 'US/Eastern'>/etc/timezone;dpkg-reconfigure --frontend noninteractive tzdata";
|
||||
print "$cmd_line\n";
|
||||
my $cmd_line = "echo $timezone >/etc/timezone;dpkg-reconfigure --frontend noninteractive tzdata";
|
||||
$cmd = "xdsh $switch $cmd_line";
|
||||
if ($::RUNCMD_RC != 0) {
|
||||
print "Failed to update ntp timezone\n";
|
||||
xCAT::MsgUtils->message("E","Failed to update ntp timezone for $switch");
|
||||
next;
|
||||
}
|
||||
print "$cmd\n";
|
||||
#use ntpserver from network table if available
|
||||
my $ntpserver;
|
||||
foreach my $net (@nets) {
|
||||
if (xCAT::NetworkUtils::isInSameSubnet( $net->{'net'}, $switch, $net->{'mask'}, 0)) {
|
||||
$ntpserver=$net->{'ntpservers'};
|
||||
if (defined $ntpserver) {
|
||||
if ($ntpserver =~ /xcatmaster/) {
|
||||
@servers = $master;
|
||||
} else {
|
||||
@servers = split(',', $ntpserver);
|
||||
}
|
||||
}
|
||||
last;
|
||||
}
|
||||
}
|
||||
foreach my $server (@servers) {
|
||||
`echo "server $server iburst" >> $file`;
|
||||
}
|
||||
|
||||
$cmd = "xdcp $switch $file";
|
||||
$rc= xCAT::Utils->runcmd($cmd, 0);
|
||||
$cmd = "xdsh $switch 'cp /etc/ntp.conf /etc/ntp.conf.orig;cp $file /etc/ntp.conf;rm -fr $file;systemctl restart ntp;systemctl enable ntp' ";
|
||||
@ -398,6 +440,7 @@ sub config_ntp {
|
||||
my $csw = join(",",@config_switches);
|
||||
$cmd = "chdef $csw status=ntp_configured";
|
||||
$rc= xCAT::Utils->runcmd($cmd, 0);
|
||||
print "$csw: ntp configured\n";
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user