mirror of
https://github.com/kubesphere/kubekey.git
synced 2025-12-26 01:22:51 +00:00
fix: fix ubuntu debian chrony bug
This commit is contained in:
parent
7613472688
commit
9aa61f4b13
|
|
@ -35,6 +35,14 @@ func (c *ConfigureOSModule) Init() {
|
|||
c.Name = "ConfigureOSModule"
|
||||
c.Desc = "Init os dependencies"
|
||||
|
||||
getOSData := &task.RemoteTask{
|
||||
Name: "GetOSData",
|
||||
Desc: "Get OS release",
|
||||
Hosts: c.Runtime.GetAllHosts(),
|
||||
Action: new(GetOSData),
|
||||
Parallel: true,
|
||||
}
|
||||
|
||||
initOS := &task.RemoteTask{
|
||||
Name: "InitOS",
|
||||
Desc: "Prepare to init OS",
|
||||
|
|
@ -75,6 +83,7 @@ func (c *ConfigureOSModule) Init() {
|
|||
}
|
||||
|
||||
c.Tasks = []task.Interface{
|
||||
getOSData,
|
||||
initOS,
|
||||
GenerateScript,
|
||||
ExecScript,
|
||||
|
|
|
|||
|
|
@ -458,14 +458,27 @@ type NodeConfigureNtpServer struct {
|
|||
func (n *NodeConfigureNtpServer) Execute(runtime connector.Runtime) error {
|
||||
|
||||
currentHost := runtime.RemoteHost()
|
||||
release, ok := currentHost.GetCache().Get(Release)
|
||||
if !ok {
|
||||
return errors.New("get os release failed by host cache")
|
||||
}
|
||||
r := release.(*osrelease.Data)
|
||||
|
||||
chronyConfigFile := "/etc/chrony.conf"
|
||||
chronyService := "chronyd.service"
|
||||
if r.ID == "ubuntu" || r.ID == "debian" {
|
||||
chronyConfigFile = "/etc/chrony/chrony.conf"
|
||||
chronyService = "chrony.service"
|
||||
}
|
||||
|
||||
// if NtpServers was configured
|
||||
for _, server := range n.KubeConf.Cluster.System.NtpServers {
|
||||
|
||||
serverAddr := strings.Trim(server, " \"")
|
||||
if serverAddr == currentHost.GetName() || serverAddr == currentHost.GetInternalAddress() {
|
||||
allowClientCmd := `sed -i '/#allow/ a\allow 0.0.0.0/0' /etc/chrony.conf`
|
||||
allowClientCmd := fmt.Sprintf(`sed -i '/#allow/ a\allow 0.0.0.0/0' %s`, chronyConfigFile)
|
||||
if _, err := runtime.GetRunner().SudoCmd(allowClientCmd, false); err != nil {
|
||||
return errors.Wrapf(err, "change host:%s chronyd conf failed, please check file /etc/chrony.conf", serverAddr)
|
||||
return errors.Wrapf(err, "change host:%s chronyd conf failed, please check file %s", serverAddr, chronyConfigFile)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -477,10 +490,11 @@ func (n *NodeConfigureNtpServer) Execute(runtime connector.Runtime) error {
|
|||
}
|
||||
}
|
||||
|
||||
checkOrAddCmd := fmt.Sprintf(`grep -q '^server %s iburst' /etc/chrony.conf||sed '1a server %s iburst' -i /etc/chrony.conf`, serverAddr, serverAddr)
|
||||
checkOrAddCmd := fmt.Sprintf(`grep -q '^server %s iburst' %s||sed '1a server %s iburst' -i %s`, serverAddr, chronyConfigFile, serverAddr, chronyConfigFile)
|
||||
if _, err := runtime.GetRunner().SudoCmd(checkOrAddCmd, false); err != nil {
|
||||
return errors.Wrapf(err, "set ntpserver: %s failed, please check file /etc/chrony.conf", serverAddr)
|
||||
return errors.Wrapf(err, "set ntpserver: %s failed, please check file %s", serverAddr, chronyConfigFile)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if Timezone was configured
|
||||
|
|
@ -497,7 +511,8 @@ func (n *NodeConfigureNtpServer) Execute(runtime connector.Runtime) error {
|
|||
|
||||
// ensure chronyd was enabled and work normally
|
||||
if len(n.KubeConf.Cluster.System.NtpServers) > 0 || len(n.KubeConf.Cluster.System.Timezone) > 0 {
|
||||
if _, err := runtime.GetRunner().SudoCmd("systemctl enable chronyd.service && systemctl restart chronyd.service", false); err != nil {
|
||||
startChronyCmd := fmt.Sprintf("systemctl enable %s && systemctl restart %s", chronyService, chronyService)
|
||||
if _, err := runtime.GetRunner().SudoCmd(startChronyCmd, false); err != nil {
|
||||
return errors.Wrap(err, "restart chronyd failed")
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue