From c71fd73251ce80d813b7c66859fec64f698758ca Mon Sep 17 00:00:00 2001 From: Irfan Ur Rehman Date: Tue, 14 Feb 2017 20:10:24 +0530 Subject: [PATCH] [Federation][Kubefed] Bug fix - kubeconfig path not updated properly when supplied through --kubeconfig flag in kubefed init --- federation/pkg/kubefed/init/init.go | 5 +++-- federation/pkg/kubefed/init/init_test.go | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index 2d8632352d2..3790149cb88 100644 --- a/federation/pkg/kubefed/init/init.go +++ b/federation/pkg/kubefed/init/init.go @@ -326,7 +326,7 @@ func (i *initFederation) Run(cmdOut io.Writer, config util.AdminConfig) error { // 8. Write the federation API server endpoint info, credentials // and context to kubeconfig - err = updateKubeconfig(config, i.commonOptions.Name, endpoint, entKeyPairs, i.options.dryRun) + err = updateKubeconfig(config, i.commonOptions.Name, endpoint, i.commonOptions.Kubeconfig, entKeyPairs, i.options.dryRun) if err != nil { return err } @@ -890,8 +890,9 @@ func printSuccess(cmdOut io.Writer, ips, hostnames []string, svc *api.Service) e return err } -func updateKubeconfig(config util.AdminConfig, name, endpoint string, entKeyPairs *entityKeyPairs, dryRun bool) error { +func updateKubeconfig(config util.AdminConfig, name, endpoint, kubeConfigPath string, entKeyPairs *entityKeyPairs, dryRun bool) error { po := config.PathOptions() + po.LoadingRules.ExplicitPath = kubeConfigPath kubeconfig, err := po.GetStartingConfig() if err != nil { return err diff --git a/federation/pkg/kubefed/init/init_test.go b/federation/pkg/kubefed/init/init_test.go index 6edaa91a969..52a1d4f4539 100644 --- a/federation/pkg/kubefed/init/init_test.go +++ b/federation/pkg/kubefed/init/init_test.go @@ -114,8 +114,8 @@ func TestInitFederation(t *testing.T) { }, { federation: "union", - kubeconfigGlobal: fakeKubeFiles[0], - kubeconfigExplicit: "", + kubeconfigGlobal: fakeKubeFiles[1], + kubeconfigExplicit: fakeKubeFiles[2], dnsZoneName: "example.test.", lbIP: lbIP, apiserverServiceType: v1.ServiceTypeLoadBalancer,