mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
Fix adding FileContentCheck
Current code adds FileContentCheck only for the first API Server mentioned in the command line. The test is never added as net.ParseIP always fails because <address>:<port> is passed to it instead of <address>. Fixed both issues by introducing a loop over all API Servers and splitting <address>:<port> before passing <address> to the net.ParseIP API.
This commit is contained in:
parent
068e1642f6
commit
d503b807d5
@ -986,12 +986,16 @@ func RunJoinNodeChecks(execer utilsexec.Interface, cfg *kubeadmapi.NodeConfigura
|
||||
criCtlChecker)
|
||||
}
|
||||
|
||||
if len(cfg.DiscoveryTokenAPIServers) > 0 {
|
||||
if ip := net.ParseIP(cfg.DiscoveryTokenAPIServers[0]); ip != nil {
|
||||
if ip.To4() == nil && ip.To16() != nil {
|
||||
checks = append(checks,
|
||||
FileContentCheck{Path: bridgenf6, Content: []byte{'1'}},
|
||||
)
|
||||
for _, server := range cfg.DiscoveryTokenAPIServers {
|
||||
ipstr, _, err := net.SplitHostPort(server)
|
||||
if err == nil {
|
||||
if ip := net.ParseIP(ipstr); ip != nil {
|
||||
if ip.To4() == nil && ip.To16() != nil {
|
||||
checks = append(checks,
|
||||
FileContentCheck{Path: bridgenf6, Content: []byte{'1'}},
|
||||
)
|
||||
break // Ensure that check is added only once
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user