Browse Source

Check if hostname is resolvable before running agent

pull/426/head
galal-hussein 6 years ago
parent
commit
7e1699cda0
  1. 13
      pkg/agent/config/config.go

13
pkg/agent/config/config.go

@ -253,6 +253,8 @@ func get(envInfo *cmds.Agent) (*config.Node, error) {
return nil, err return nil, err
} }
hostnameCheck(nodeName)
nodeCertFile := filepath.Join(envInfo.DataDir, "token-node.crt") nodeCertFile := filepath.Join(envInfo.DataDir, "token-node.crt")
nodeKeyFile := filepath.Join(envInfo.DataDir, "token-node.key") nodeKeyFile := filepath.Join(envInfo.DataDir, "token-node.key")
nodePasswordFile := filepath.Join(envInfo.DataDir, "node-password.txt") nodePasswordFile := filepath.Join(envInfo.DataDir, "node-password.txt")
@ -348,3 +350,14 @@ func getConfig(info *clientaccess.Info) (*config.Control, error) {
controlControl := &config.Control{} controlControl := &config.Control{}
return controlControl, json.Unmarshal(data, controlControl) return controlControl, json.Unmarshal(data, controlControl)
} }
func hostnameCheck(hostname string) {
for {
_, err := sysnet.LookupHost(hostname)
if err == nil {
break
}
logrus.Infof("Waiting for hostname %s to be resolvable: %v", hostname, err)
time.Sleep(2 * time.Second)
}
}

Loading…
Cancel
Save