Skip to content

Commit 0caf177

Browse files
openshift-merge-robotmjudeikis
authored andcommitted
Merge pull request openshift#19335 from deads2k/cli-25-configpatch
use the upstream construction for kubeconfig evaluation
2 parents 39cd4a0 + 156c979 commit 0caf177

File tree

25 files changed

+1751
-4563
lines changed

25 files changed

+1751
-4563
lines changed

contrib/completions/bash/oc

Lines changed: 825 additions & 2162 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

contrib/completions/zsh/oc

Lines changed: 825 additions & 2162 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

hack/import-restrictions.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,6 @@
461461
"github.com/openshift/origin/pkg/build/registry/buildconfig",
462462
"github.com/openshift/origin/pkg/build/util",
463463
"github.com/openshift/origin/pkg/bulk",
464-
"github.com/openshift/origin/pkg/client/cmd",
465464
"github.com/openshift/origin/pkg/client/config",
466465
"github.com/openshift/origin/pkg/cmd/flagtypes",
467466
"github.com/openshift/origin/pkg/cmd/server/admin",

pkg/client/config/loader.go

Lines changed: 0 additions & 55 deletions
This file was deleted.

pkg/client/cmd/clientcmd.go renamed to pkg/cmd/infra/router/clientcmd.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cmd
1+
package router
22

33
import (
44
"fmt"
@@ -17,7 +17,6 @@ import (
1717

1818
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
1919

20-
"github.com/openshift/origin/pkg/client/config"
2120
"github.com/openshift/origin/pkg/cmd/flagtypes"
2221
"github.com/openshift/origin/pkg/cmd/util"
2322
)
@@ -64,13 +63,6 @@ func (cfg *Config) Bind(flags *pflag.FlagSet) {
6463
}
6564
}
6665

67-
// BindToFile is used when this config will not be bound to flags, but should load the config file
68-
// from disk if available.
69-
func (cfg *Config) BindToFile() *Config {
70-
cfg.clientConfig = DefaultClientConfig(pflag.NewFlagSet("empty", pflag.ContinueOnError))
71-
return cfg
72-
}
73-
7466
// OpenShiftConfig returns the OpenShift configuration
7567
func (cfg *Config) OpenShiftConfig() *restclient.Config {
7668
err := cfg.bindEnv()
@@ -205,9 +197,9 @@ func (cfg *Config) bindEnv() error {
205197
}
206198

207199
func DefaultClientConfig(flags *pflag.FlagSet) kclientcmd.ClientConfig {
208-
loadingRules := config.NewOpenShiftClientConfigLoadingRules()
209-
flags.StringVar(&loadingRules.ExplicitPath, config.OpenShiftConfigFlagName, "", "Path to the config file to use for CLI requests.")
210-
cobra.MarkFlagFilename(flags, config.OpenShiftConfigFlagName)
200+
loadingRules := kclientcmd.NewDefaultClientConfigLoadingRules()
201+
flags.StringVar(&loadingRules.ExplicitPath, kclientcmd.OpenShiftKubeConfigFlagName, "", "Path to the config file to use for CLI requests.")
202+
cobra.MarkFlagFilename(flags, kclientcmd.OpenShiftKubeConfigFlagName)
211203

212204
// set our explicit defaults
213205
defaultOverrides := &kclientcmd.ConfigOverrides{ClusterDefaults: kclientcmdapi.Cluster{Server: os.Getenv("KUBERNETES_MASTER")}}

pkg/cmd/infra/router/f5.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
1515
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
1616

17-
clientcmd "github.com/openshift/origin/pkg/client/cmd"
1817
"github.com/openshift/origin/pkg/cmd/util"
1918
cmdversion "github.com/openshift/origin/pkg/cmd/version"
2019
projectinternalclientset "github.com/openshift/origin/pkg/project/generated/internalclientset"
@@ -42,7 +41,7 @@ var (
4241
// F5RouterOptions represent the complete structure needed to start an F5 router
4342
// sync process.
4443
type F5RouterOptions struct {
45-
Config *clientcmd.Config
44+
Config *Config
4645

4746
F5Router
4847
RouterSelection
@@ -138,12 +137,12 @@ func (o *F5Router) Validate() error {
138137
// NewCommandF5Router provides CLI handler for the F5 router sync plugin.
139138
func NewCommandF5Router(name string) *cobra.Command {
140139
options := &F5RouterOptions{
141-
Config: clientcmd.NewConfig(),
140+
Config: NewConfig(),
142141
}
143142
options.Config.FromFile = true
144143

145144
cmd := &cobra.Command{
146-
Use: fmt.Sprintf("%s%s", name, clientcmd.ConfigSyntax),
145+
Use: fmt.Sprintf("%s%s", name, ConfigSyntax),
147146
Short: "Start an F5 route synchronizer",
148147
Long: f5Long,
149148
Run: func(c *cobra.Command, args []string) {

pkg/cmd/infra/router/template.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
2828
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
2929

30-
clientcmd "github.com/openshift/origin/pkg/client/cmd"
3130
"github.com/openshift/origin/pkg/cmd/server/crypto"
3231
"github.com/openshift/origin/pkg/cmd/util"
3332
cmdversion "github.com/openshift/origin/pkg/cmd/version"
@@ -63,7 +62,7 @@ var routerLong = templates.LongDesc(`
6362
that you must have a cluster-wide administrative role to view all namespaces.`)
6463

6564
type TemplateRouterOptions struct {
66-
Config *clientcmd.Config
65+
Config *Config
6766

6867
TemplateRouter
6968
RouterStats
@@ -138,12 +137,12 @@ func (o *RouterStats) Bind(flag *pflag.FlagSet) {
138137
// NewCommndTemplateRouter provides CLI handler for the template router backend
139138
func NewCommandTemplateRouter(name string) *cobra.Command {
140139
options := &TemplateRouterOptions{
141-
Config: clientcmd.NewConfig(),
140+
Config: NewConfig(),
142141
}
143142
options.Config.FromFile = true
144143

145144
cmd := &cobra.Command{
146-
Use: fmt.Sprintf("%s%s", name, clientcmd.ConfigSyntax),
145+
Use: fmt.Sprintf("%s%s", name, ConfigSyntax),
147146
Short: "Start a router",
148147
Long: routerLong,
149148
Run: func(c *cobra.Command, args []string) {

pkg/oc/admin/diagnostics/config.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import (
77
"os"
88

99
"k8s.io/client-go/tools/clientcmd"
10+
kclientcmd "k8s.io/client-go/tools/clientcmd"
1011
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
1112

12-
"github.com/openshift/origin/pkg/client/config"
1313
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/util"
1414
)
1515

@@ -32,12 +32,12 @@ func (o DiagnosticsOptions) detectClientConfig() (expected bool, detected bool)
3232
return false, false
3333
}
3434
o.Logger().Notice("CED2011", "Determining if client configuration exists for client/cluster diagnostics")
35-
confFlagName := config.OpenShiftConfigFlagName
35+
confFlagName := kclientcmd.OpenShiftKubeConfigFlagName
3636
confFlagValue := o.ClientFlags.Lookup(confFlagName).Value.String()
3737
successfulLoad := false
3838

3939
var foundPath string
40-
rules := config.NewOpenShiftClientConfigLoadingRules()
40+
rules := kclientcmd.NewDefaultClientConfigLoadingRules()
4141
paths := append([]string{confFlagValue}, rules.Precedence...)
4242
for index, path := range paths {
4343
errmsg := ""
@@ -47,8 +47,8 @@ func (o DiagnosticsOptions) detectClientConfig() (expected bool, detected bool)
4747
case len(paths) - 1: // config in ~/.kube
4848
// no error message indicated if it is not there... user didn't say it would be
4949
default: // can be multiple paths from the env var in theory; all cases should go here
50-
if len(os.Getenv(config.OpenShiftConfigPathEnvVar)) != 0 {
51-
errmsg = fmt.Sprintf("Env var %s specified that client config could be at %s\n", config.OpenShiftConfigPathEnvVar, path)
50+
if len(os.Getenv(kclientcmd.RecommendedConfigPathEnvVar)) != 0 {
51+
errmsg = fmt.Sprintf("Env var %s specified that client config could be at %s\n", kclientcmd.RecommendedConfigPathEnvVar, path)
5252
}
5353
}
5454

@@ -88,7 +88,7 @@ location for use by the client and diagnostics.
8888
for _, path := range util.AdminKubeConfigPaths {
8989
msg := fmt.Sprintf("Looking for a possible client config at %s\n", path)
9090
if o.canOpenConfigFile(path, msg) {
91-
o.Logger().Warn("DCli1003", fmt.Sprintf(adminWarningF, config.OpenShiftConfigPathEnvVar, path, config.RecommendedHomeFile))
91+
o.Logger().Warn("DCli1003", fmt.Sprintf(adminWarningF, kclientcmd.RecommendedConfigPathEnvVar, path, kclientcmd.RecommendedHomeFile))
9292
break
9393
}
9494
}

pkg/oc/admin/diagnostics/diagnostics.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import (
1212

1313
kutilerrors "k8s.io/apimachinery/pkg/util/errors"
1414
"k8s.io/apimachinery/pkg/util/sets"
15+
kclientcmd "k8s.io/client-go/tools/clientcmd"
1516
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
1617

17-
"github.com/openshift/origin/pkg/client/config"
1818
"github.com/openshift/origin/pkg/cmd/flagtypes"
1919
poddiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/client/pod/in_pod"
2020
networkpoddiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod"
@@ -223,7 +223,7 @@ func (o *DiagnosticsOptions) bindCommonFlags(flags *flag.FlagSet) {
223223
func (o *DiagnosticsOptions) bindClientFlags(flags *flag.FlagSet) {
224224
o.ClientFlags = flag.NewFlagSet("client", flag.ContinueOnError) // hide the extensive set of client flags
225225
o.Factory = osclientcmd.New(o.ClientFlags) // that would otherwise be added to this command
226-
flags.AddFlag(o.ClientFlags.Lookup(config.OpenShiftConfigFlagName))
226+
flags.AddFlag(o.ClientFlags.Lookup(kclientcmd.OpenShiftKubeConfigFlagName))
227227
flags.AddFlag(o.ClientFlags.Lookup("context")) // TODO: find k8s constant
228228
flags.StringVar(&o.ClientClusterContext, options.FlagClusterContextName, "", "Client context to use for cluster administrator")
229229
flags.BoolVar(&o.PreventModification, options.FlagPreventModificationName, false, "If true, may be set to prevent diagnostics making any changes via the API")

pkg/oc/admin/prune/images.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ func getClientAndMasterVersions(client discovery.DiscoveryInterface, timeout tim
763763

764764
select {
765765
case err, closed := <-done:
766-
if strings.HasSuffix(fmt.Sprintf("%v", err), "connection refused") || clientcmd.IsConfigurationMissing(err) || kclientcmd.IsConfigurationInvalid(err) {
766+
if strings.HasSuffix(fmt.Sprintf("%v", err), "connection refused") || kclientcmd.IsEmptyConfig(err) || kclientcmd.IsConfigurationInvalid(err) {
767767
return nil, nil, err
768768
}
769769
if closed && err != nil {

0 commit comments

Comments
 (0)