Skip to content

Commit

Permalink
Include the interface name in the error message
Browse files Browse the repository at this point in the history
Signed-off-by: Manuel Buil <mbuil@suse.com>
  • Loading branch information
manuelbuil committed Sep 26, 2023
1 parent 9750202 commit 117008c
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pkg/agent/config/config.go
Expand Up @@ -363,7 +363,7 @@ func get(ctx context.Context, envInfo *cmds.Agent, proxy proxy.Proxy) (*config.N
if controlConfig.FlannelBackend != config.FlannelBackendNone && len(envInfo.FlannelIface) > 0 {
flannelIface, err = net.InterfaceByName(envInfo.FlannelIface)
if err != nil {
return nil, errors.Wrapf(err, "unable to find interface")
return nil, errors.Wrapf(err, "unable to find interface %s", envInfo.FlannelIface)
}
}

Expand Down
6 changes: 5 additions & 1 deletion pkg/cli/agent/agent.go
Expand Up @@ -60,7 +60,11 @@ func Run(ctx *cli.Context) error {
}

if cmds.AgentConfig.FlannelIface != "" && len(cmds.AgentConfig.NodeIP) == 0 {
cmds.AgentConfig.NodeIP.Set(util.GetIPFromInterface(cmds.AgentConfig.FlannelIface))
ip, err := util.GetIPFromInterface(cmds.AgentConfig.FlannelIface)
if err != nil {
return err
}
cmds.AgentConfig.NodeIP.Set(ip)
}

logrus.Info("Starting " + version.Program + " agent " + ctx.App.Version)
Expand Down
6 changes: 5 additions & 1 deletion pkg/cli/server/server.go
Expand Up @@ -217,7 +217,11 @@ func run(app *cli.Context, cfg *cmds.Server, leaderControllers server.CustomCont
}

if cmds.AgentConfig.FlannelIface != "" && len(cmds.AgentConfig.NodeIP) == 0 {
cmds.AgentConfig.NodeIP.Set(util.GetIPFromInterface(cmds.AgentConfig.FlannelIface))
ip, err := util.GetIPFromInterface(cmds.AgentConfig.FlannelIface)
if err != nil {
return err
}
cmds.AgentConfig.NodeIP.Set(ip)
}

if serverConfig.ControlConfig.PrivateIP == "" && len(cmds.AgentConfig.NodeIP) != 0 {
Expand Down
9 changes: 4 additions & 5 deletions pkg/util/net.go
Expand Up @@ -301,14 +301,13 @@ func IPStringToIPNet(address string) (*net.IPNet, error) {
}

// GetIPFromInterface is the public function that returns the IP of an interface
func GetIPFromInterface(ifaceName string) string {
func GetIPFromInterface(ifaceName string) (string, error) {
ip, err := getIPFromInterface(ifaceName)
if err != nil {
logrus.Warn(fmt.Errorf("unable to get global unicast ip from interface name: %w", err))
} else {
logrus.Infof("Found ip %s from iface %s", ip, ifaceName)
return "", fmt.Errorf("interface %s does not have a correct global unicast ip: %w", ifaceName, err)
}
return ip
logrus.Infof("Found ip %s from iface %s", ip, ifaceName)
return ip, nil
}

// getIPFromInterface is the private function that returns de IP of an interface
Expand Down

0 comments on commit 117008c

Please sign in to comment.