func PrepareTokenDiscovery(d *kubeadmapi.TokenDiscovery) error { if len(d.Addresses) == 0 { ip, err := netutil.ChooseHostInterface() if err != nil { return err } d.Addresses = []string{ip.String() + ":" + strconv.Itoa(kubeadmapiext.DefaultDiscoveryBindPort)} } if err := kubeadmutil.GenerateTokenIfNeeded(d); err != nil { return fmt.Errorf("failed to generate token(s) [%v]", err) } return nil }