Skip to content

Commit 291f2f8

Browse files
authored
Merge pull request kubernetes#77415 from Fedosin/allow_define_kubeconfig
Allow to define kubeconfig file for OpenStack cloud provider
2 parents 7faeee2 + bac2291 commit 291f2f8

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

pkg/cloudprovider/providers/openstack/openstack.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ type Config struct {
161161
CAFile string `gcfg:"ca-file"`
162162
SecretName string `gcfg:"secret-name"`
163163
SecretNamespace string `gcfg:"secret-namespace"`
164+
KubeconfigPath string `gcfg:"kubeconfig-path"`
164165
}
165166
LoadBalancer LoadBalancerOpts
166167
BlockStorage BlockStorageOpts
@@ -238,6 +239,7 @@ func configFromEnv() (cfg Config, ok bool) {
238239

239240
cfg.Global.SecretName = os.Getenv("SECRET_NAME")
240241
cfg.Global.SecretNamespace = os.Getenv("SECRET_NAMESPACE")
242+
cfg.Global.KubeconfigPath = os.Getenv("KUBECONFIG_PATH")
241243

242244
ok = cfg.Global.AuthURL != "" &&
243245
cfg.Global.Username != "" &&
@@ -253,11 +255,10 @@ func configFromEnv() (cfg Config, ok bool) {
253255
return
254256
}
255257

256-
func createKubernetesClient() (*kubernetes.Clientset, error) {
258+
func createKubernetesClient(kubeconfigPath string) (*kubernetes.Clientset, error) {
257259
klog.Info("Creating kubernetes API client.")
258260

259-
// create in-cluster config
260-
cfg, err := clientcmd.BuildConfigFromFlags("", "")
261+
cfg, err := clientcmd.BuildConfigFromFlags("", kubeconfigPath)
261262
if err != nil {
262263
return nil, err
263264
}
@@ -280,8 +281,9 @@ func createKubernetesClient() (*kubernetes.Clientset, error) {
280281
func setConfigFromSecret(cfg *Config) error {
281282
secretName := cfg.Global.SecretName
282283
secretNamespace := cfg.Global.SecretNamespace
284+
kubeconfigPath := cfg.Global.KubeconfigPath
283285

284-
k8sClient, err := createKubernetesClient()
286+
k8sClient, err := createKubernetesClient(kubeconfigPath)
285287
if err != nil {
286288
return fmt.Errorf("failed to get kubernetes client: %v", err)
287289
}

pkg/volume/cinder/cinder_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ func getOpenstackConfig() openstack.Config {
317317
CAFile string `gcfg:"ca-file"`
318318
SecretName string `gcfg:"secret-name"`
319319
SecretNamespace string `gcfg:"secret-namespace"`
320+
KubeconfigPath string `gcfg:"kubeconfig-path"`
320321
}{
321322
Username: "user",
322323
Password: "pass",

0 commit comments

Comments
 (0)