diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index 04f3b537f33..67e3ae38e0e 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 } @@ -891,8 +891,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,