mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	Tweak makentp for chronyd
This commit is contained in:
		| @@ -234,6 +234,44 @@ sub process_request { | ||||
|         send_msg(\%request, 0, "configuring service node: $nodename."); | ||||
|     } | ||||
|  | ||||
|     # get site.extntpservers for mn, for sn use mn as the server | ||||
|     my $ntp_servers; | ||||
|     my $ntp_master; | ||||
|     my $ntp_attrib; | ||||
|     if (xCAT::Utils->isMN()) { | ||||
|         $ntp_attrib = "extntpservers"; | ||||
|     } else { | ||||
|         $ntp_attrib = "ntpservers"; | ||||
|     } | ||||
|     my @entries     = xCAT::TableUtils->get_site_attribute($ntp_attrib); | ||||
|     my $ntp_servers = $entries[0]; | ||||
|  | ||||
|     if (!xCAT::Utils->isMN() && ((!$ntp_servers) || | ||||
|         (($ntp_servers) && ($ntp_servers =~ /<xcatmaster>/)))) { | ||||
|         my $retdata = xCAT::ServiceNodeUtils->readSNInfo($nodename); | ||||
|         $ntp_servers = $retdata->{'master'}; | ||||
|     } | ||||
|  | ||||
|     # Handle chronyd here, | ||||
|     if (-f "/usr/sbin/chronyd") { | ||||
|         send_msg(\%request, 0, "Will configure chronyd instead."); | ||||
|  | ||||
|         my $cmd = "/install/postscripts/setupntp " . | ||||
|             join(' ', split(',', $ntp_servers)); | ||||
|         send_msg(\%request, 0, "Calling ... " . $cmd); | ||||
|  | ||||
|         my $result = xCAT::Utils->runcmd($cmd, 0); | ||||
|         if ($::RUNCMD_RC != 0) { | ||||
|             send_msg(\%request, 1, "Error from command: $cmd\n    $result"); | ||||
|             return 1; | ||||
|         } | ||||
|  | ||||
|         send_msg(\%request, 0, "Daemon chronyd configured."); | ||||
|  | ||||
| 	# Cannot find a better way other than use goto statement :-/ | ||||
|         goto HANDLE_MAKENTP_A; | ||||
|     } | ||||
|  | ||||
|     #check if ntp is installed or not | ||||
|     if ($verbose) { | ||||
|         send_msg(\%request, 0, " ...checking if nptd is installed."); | ||||
| @@ -272,23 +310,6 @@ sub process_request { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     # get site.extntpservers for mn, for sn use mn as the server | ||||
|     my $ntp_servers; | ||||
|     my $ntp_master; | ||||
|     my $ntp_attrib; | ||||
|     if (xCAT::Utils->isMN()) { | ||||
|         $ntp_attrib = "extntpservers"; | ||||
|     } else { | ||||
|         $ntp_attrib = "ntpservers"; | ||||
|     } | ||||
|     my @entries     = xCAT::TableUtils->get_site_attribute($ntp_attrib); | ||||
|     my $ntp_servers = $entries[0]; | ||||
|  | ||||
|     if (!xCAT::Utils->isMN() && ((!$ntp_servers) || (($ntp_servers) && ($ntp_servers =~ /<xcatmaster>/)))) { | ||||
|         my $retdata = xCAT::ServiceNodeUtils->readSNInfo($nodename); | ||||
|         $ntp_servers = $retdata->{'master'}; | ||||
|     } | ||||
|  | ||||
|     if ($verbose) { | ||||
|         send_msg(\%request, 0, " ...changing the ntp configuration file /etc/ntp.conf.\n    ntp servers are: $ntp_servers"); | ||||
|     } | ||||
| @@ -455,6 +476,8 @@ sub process_request { | ||||
|     } | ||||
|     xCAT::Utils->enableservice($ntp_service); | ||||
|  | ||||
| HANDLE_MAKENTP_A: | ||||
|  | ||||
|     #now handle sn that has ntpserver=1 set in servicenode table. | ||||
|     # this part is called by makentp -a. | ||||
|     if ($req->{_all}->[0] == 1) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user