Files
kubernetes/staging
Kubernetes Submit Queue 3c2e6a9f4d Merge pull request #46299 from ncdc/fix-DirectClientConfig-Namespace-override
Automatic merge from submit-queue (batch tested with PRs 46299, 46309, 46311, 46303, 46150)

Fix in-cluster kubectl --namespace override

**What this PR does / why we need it**:
Before this change, if the config was empty, ConfirmUsable() would
return an "invalid configuration" error instead of examining and
honoring the value of the --namespace flag. This change looks at the
overrides first, and returns the overridden value if it exists before
attempting to check if the config is usable. This is most applicable to
in-cluster clients, where they don't have a kubeconfig but they do have
a token and can use KUBERNETES_SERVICE_HOST/_PORT.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
The --namespace flag is now honored for in-cluster clients that have an empty configuration.
```

@kubernetes/sig-api-machinery-pr-reviews @fabianofranz @liggitt @deads2k @smarterclayton @caesarxuchao @soltysh
2017-05-24 23:18:59 -07:00
..
2017-05-02 17:16:06 -07:00
2017-04-19 15:58:09 -04:00

This directory is the staging area for packages that have been split to their own repository. The content here will be periodically published to respective top-level k8s.io repositories.

Most code in the staging/ directory is authoritative, i.e. the only copy of the code. You can directly modify such code. However the packages in staging/src/k8s.io/client-go/pkg are copied from pkg/. If you modify the original code in pkg/, you need to run hack/godep-restore.sh from the k8s root directory, followed by hack/update-staging-client-go.sh. We are working towards making all code in staging/ authoritative.

The vendor/k8s.io directory contains symlinks pointing to this staging area, so to use a package in the staging area, you can import it as k8s.io/<package-name>, as if the package were vendored. Packages will be vendored from k8s.io/<package-name> for real after the test matrix is converted to vendor k8s components.