[Federation] Update the deprecated name for 1.5 and try with flags only when --kubeconfig is non-empty.
				
					
				
			This commit is contained in:
		@@ -52,14 +52,13 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	// "federation-apiserver-secret" was the old name we used to store
 | 
						// "federation-apiserver-kubeconfig" was the old name we used to
 | 
				
			||||||
	// Federation API server kubeconfig secret. Unfortunately, this name
 | 
						// store Federation API server kubeconfig secret. We are
 | 
				
			||||||
	// is very close to "federation-apiserver-secrets" and causes a lot
 | 
						// deprecating it in favor of `--kubeconfig` flag but giving people
 | 
				
			||||||
	// of confusion, particularly while debugging. So deprecating it in
 | 
						// time to migrate.
 | 
				
			||||||
	// favor of the new name but giving people time to migrate.
 | 
						// TODO(madhusudancs): this name is deprecated in 1.5 and should be
 | 
				
			||||||
	// TODO(madhusudancs): this name is deprecated in 1.4 and should be
 | 
						// removed in 1.6. Remove it in 1.6.
 | 
				
			||||||
	// removed in 1.5. Remove it in 1.5.
 | 
						DeprecatedKubeconfigSecretName = "federation-apiserver-kubeconfig"
 | 
				
			||||||
	DeprecatedKubeconfigSecretName = "federation-apiserver-secret"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewControllerManagerCommand creates a *cobra.Command object with default parameters
 | 
					// NewControllerManagerCommand creates a *cobra.Command object with default parameters
 | 
				
			||||||
@@ -91,8 +90,8 @@ func Run(s *options.CMServer) error {
 | 
				
			|||||||
		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.
 | 
						// If s.Kubeconfig flag is empty, try with the deprecated name in 1.5.
 | 
				
			||||||
	// TODO(madhusudancs): Remove this in 1.5.
 | 
						// TODO(madhusudancs): Remove this in 1.6.
 | 
				
			||||||
	var restClientCfg *restclient.Config
 | 
						var restClientCfg *restclient.Config
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	if len(s.Kubeconfig) <= 0 {
 | 
						if len(s.Kubeconfig) <= 0 {
 | 
				
			||||||
@@ -100,18 +99,18 @@ func Run(s *options.CMServer) error {
 | 
				
			|||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						} else {
 | 
				
			||||||
 | 
							// 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.5.
 | 
				
			||||||
		// Retry with the deprecated name in 1.4.
 | 
								// TODO(madhusudancs): Remove this in 1.6.
 | 
				
			||||||
		// TODO(madhusudancs): Remove this in 1.5.
 | 
								glog.V(2).Infof("Couldn't build the rest client config from flags: %v", err)
 | 
				
			||||||
		glog.V(2).Infof("Couldn't build the rest client config from flags: %v", err)
 | 
								glog.V(2).Infof("Trying with deprecated secret: %s", DeprecatedKubeconfigSecretName)
 | 
				
			||||||
		glog.V(2).Infof("Trying with deprecated secret: %s", DeprecatedKubeconfigSecretName)
 | 
								restClientCfg, err = restClientConfigFromSecret(s.Master)
 | 
				
			||||||
		restClientCfg, err = restClientConfigFromSecret(s.Master)
 | 
								if err != nil {
 | 
				
			||||||
		if err != nil {
 | 
									return err
 | 
				
			||||||
			return err
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -195,13 +194,13 @@ 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
 | 
					// TODO(madhusudancs): Remove this in 1.6. This is only temporary to give an
 | 
				
			||||||
// upgrade path in 1.4.
 | 
					// upgrade path in 1.4/1.5.
 | 
				
			||||||
func restClientConfigFromSecret(master string) (*restclient.Config, error) {
 | 
					func restClientConfigFromSecret(master string) (*restclient.Config, error) {
 | 
				
			||||||
	kubeconfigGetter := util.KubeconfigGetterForSecret(DeprecatedKubeconfigSecretName)
 | 
						kubeconfigGetter := util.KubeconfigGetterForSecret(DeprecatedKubeconfigSecretName)
 | 
				
			||||||
	restClientCfg, err := clientcmd.BuildConfigFromKubeconfigGetter(master, kubeconfigGetter)
 | 
						restClientCfg, err := clientcmd.BuildConfigFromKubeconfigGetter(master, kubeconfigGetter)
 | 
				
			||||||
	if err != nil {
 | 
						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 nil, fmt.Errorf("failed to find the Federation API server kubeconfig, tried the --kubeconfig flag and the deprecated secret %s: %v", DeprecatedKubeconfigSecretName, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return restClientCfg, nil
 | 
						return restClientCfg, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user