For backwards compatibility, directly try to build the rest client config from the secret if --kubeconfig flag is empty.
This commit is contained in:
parent
362c561bd4
commit
dbfc110934
@ -90,16 +90,28 @@ func Run(s *options.CMServer) error {
|
|||||||
} else {
|
} else {
|
||||||
glog.Errorf("unable to register configz: %s", err)
|
glog.Errorf("unable to register configz: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If s.Kubeconfig flag is empty, try with the deprecated name in 1.4.
|
||||||
|
// TODO(madhusudancs): Remove this in 1.5.
|
||||||
|
var restClientCfg *restclient.Config
|
||||||
|
var err error
|
||||||
|
if len(s.Kubeconfig) <= 0 {
|
||||||
|
restClientCfg, err = restClientConfigFromSecret(s.Master)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create the config to talk to federation-apiserver.
|
// Create the config to talk to federation-apiserver.
|
||||||
restClientCfg, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
|
restClientCfg, err = clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
|
||||||
if err != nil || restClientCfg == nil {
|
if err != nil || restClientCfg == nil {
|
||||||
// Retry with the deprecated name in 1.4.
|
// Retry with the deprecated name in 1.4.
|
||||||
// TODO(madhusudancs): Remove this in 1.5.
|
// TODO(madhusudancs): Remove this in 1.5.
|
||||||
var depErr error
|
glog.V(2).Infof("Couldn't build the rest client config from flags: %v", err)
|
||||||
kubeconfigGetter := util.KubeconfigGetterForSecret(DeprecatedKubeconfigSecretName)
|
glog.V(2).Infof("Trying with deprecated secret: %s", DeprecatedKubeconfigSecretName)
|
||||||
restClientCfg, depErr = clientcmd.BuildConfigFromKubeconfigGetter(s.Master, kubeconfigGetter)
|
restClientCfg, err = restClientConfigFromSecret(s.Master)
|
||||||
if depErr != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to find the secret containing Federation API server kubeconfig, tried the secret name %s and the deprecated name %s: %v, %v", KubeconfigSecretName, DeprecatedKubeconfigSecretName, err, depErr)
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,3 +194,14 @@ func StartControllers(s *options.CMServer, restClientCfg *restclient.Config) err
|
|||||||
|
|
||||||
select {}
|
select {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(madhusudancs): Remove this in 1.5. This is only temporary to give an
|
||||||
|
// upgrade path in 1.4.
|
||||||
|
func restClientConfigFromSecret(master string) (*restclient.Config, error) {
|
||||||
|
kubeconfigGetter := util.KubeconfigGetterForSecret(DeprecatedKubeconfigSecretName)
|
||||||
|
restClientCfg, err := clientcmd.BuildConfigFromKubeconfigGetter(master, kubeconfigGetter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to find the Federation API server kubeconfig, tried the flags and the deprecated secret %s: %v", DeprecatedKubeconfigSecretName, err)
|
||||||
|
}
|
||||||
|
return restClientCfg, nil
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user