Merge pull request #437 from galal-hussein/timeout_hostname_check

Add timeout to hostname check
This commit is contained in:
Darren Shepherd 2019-05-03 10:33:36 -07:00 committed by GitHub
commit a46fe4a33d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 7 deletions

View File

@ -253,8 +253,6 @@ func get(envInfo *cmds.Agent) (*config.Node, error) {
return nil, err
}
hostnameCheck(nodeName)
nodeCertFile := filepath.Join(envInfo.DataDir, "token-node.crt")
nodeKeyFile := filepath.Join(envInfo.DataDir, "token-node.key")
nodePasswordFile := filepath.Join(envInfo.DataDir, "node-password.txt")
@ -351,13 +349,18 @@ func getConfig(info *clientaccess.Info) (*config.Control, error) {
return controlControl, json.Unmarshal(data, controlControl)
}
func hostnameCheck(hostname string) {
for {
_, err := sysnet.LookupHost(hostname)
func HostnameCheck(cfg cmds.Agent) error {
hostname, _, err := getHostnameAndIP(cfg)
if err != nil {
return err
}
for i := 0; i < 5; i++ {
_, err = sysnet.LookupHost(hostname)
if err == nil {
break
return nil
}
logrus.Infof("Waiting for hostname %s to be resolvable: %v", hostname, err)
time.Sleep(2 * time.Second)
time.Sleep(time.Second * 3)
}
return fmt.Errorf("Timed out waiting for hostname %s to be resolvable: %v", hostname, err)
}

View File

@ -25,6 +25,10 @@ import (
func run(ctx context.Context, cfg cmds.Agent) error {
nodeConfig := config.Get(ctx, cfg)
if err := config.HostnameCheck(cfg); err != nil {
return err
}
if !nodeConfig.NoFlannel {
if err := flannel.Prepare(ctx, nodeConfig); err != nil {
return err