Merge pull request #39384 from deads2k/generic-01-start-staging

Automatic merge from submit-queue

Start moving genericapiserver to staging

This moves `pkg/auth/user` to `staging/k8s.io/genericapiserver/pkg/authentication/user`.  I'll open a separate pull into the upstream gengo to support using `import-boss` on vendored folders to support staging.

After we agree this is the correct approach and see everything build, I'll start moving other packages over which don't have k8s.io/kubernetes deps.

@kubernetes/sig-api-machinery-misc @lavalamp 
@sttts @caesarxuchao ptal
This commit is contained in:
Kubernetes Submit Queue
2017-01-04 12:06:34 -08:00
committed by GitHub
123 changed files with 184 additions and 143 deletions

View File

@@ -31,8 +31,8 @@ go_test(
"//pkg/api:go_default_library",
"//pkg/apis/meta/v1:go_default_library",
"//pkg/auth/authorizer:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/runtime:go_default_library",
"//pkg/runtime/schema:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -19,11 +19,11 @@ package gc
import (
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/admission"
"k8s.io/kubernetes/pkg/api"
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime/schema"
)

View File

@@ -44,7 +44,7 @@ go_test(
"//pkg/api:go_default_library",
"//pkg/apis/imagepolicy/install:go_default_library",
"//pkg/apis/imagepolicy/v1alpha1:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/client/unversioned/clientcmd/api/v1:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -28,10 +28,10 @@ import (
"testing"
"time"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/admission"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1"
"fmt"

View File

@@ -19,7 +19,6 @@ go_library(
"//pkg/api/v1:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/auth/authorizer:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/client/cache:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/kubeapiserver/admission:go_default_library",
@@ -32,6 +31,7 @@ go_library(
"//pkg/util/validation/field:go_default_library",
"//pkg/watch:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -45,7 +45,6 @@ go_test(
"//pkg/api:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/auth/authorizer:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/client/cache:go_default_library",
"//pkg/security/apparmor:go_default_library",
"//pkg/security/podsecuritypolicy:go_default_library",
@@ -54,5 +53,6 @@ go_test(
"//pkg/util/diff:go_default_library",
"//pkg/util/sets:go_default_library",
"//vendor:github.com/stretchr/testify/assert",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -23,13 +23,13 @@ import (
"github.com/golang/glog"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/admission"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission"

View File

@@ -24,11 +24,11 @@ import (
"github.com/stretchr/testify/assert"
"k8s.io/apiserver/pkg/authentication/user"
kadmission "k8s.io/kubernetes/pkg/admission"
kapi "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/security/apparmor"
kpsp "k8s.io/kubernetes/pkg/security/podsecuritypolicy"

View File

@@ -14,7 +14,7 @@ go_library(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -17,8 +17,8 @@ limitations under the License.
package allow
import (
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
)
type allowAuthenticator struct{}

View File

@@ -15,11 +15,11 @@ go_library(
],
tags = ["automanaged"],
deps = [
"//pkg/auth/user:go_default_library",
"//pkg/util/cert:go_default_library",
"//pkg/util/net:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:github.com/rackspace/gophercloud",
"//vendor:github.com/rackspace/gophercloud/openstack",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -25,7 +25,7 @@ import (
"github.com/golang/glog"
"github.com/rackspace/gophercloud"
"github.com/rackspace/gophercloud/openstack"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
certutil "k8s.io/kubernetes/pkg/util/cert"
netutil "k8s.io/kubernetes/pkg/util/net"
)

View File

@@ -13,8 +13,8 @@ go_library(
srcs = ["passwordfile.go"],
tags = ["automanaged"],
deps = [
"//pkg/auth/user:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -23,5 +23,5 @@ go_test(
srcs = ["passwordfile_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)

View File

@@ -23,7 +23,7 @@ import (
"os"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
type PasswordAuthenticator struct {

View File

@@ -22,7 +22,7 @@ import (
"reflect"
"testing"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
func TestPasswordFile(t *testing.T) {

View File

@@ -14,7 +14,7 @@ go_library(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -25,7 +25,7 @@ go_test(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/util/sets:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -19,8 +19,8 @@ package anonymous
import (
"net/http"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
)
const (

View File

@@ -19,8 +19,8 @@ package anonymous
import (
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/util/sets"
)

View File

@@ -14,7 +14,7 @@ go_library(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -25,6 +25,6 @@ go_test(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -19,8 +19,8 @@ package basicauth
import (
"net/http"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
)
// Authenticator authenticates requests using basic auth

View File

@@ -21,8 +21,8 @@ import (
"net/http"
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
)
type testPassword struct {

View File

@@ -14,10 +14,10 @@ go_library(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/util/cert:go_default_library",
"//pkg/util/sets:go_default_library",
"//plugin/pkg/auth/authenticator/request/x509:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -26,5 +26,5 @@ go_test(
srcs = ["requestheader_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)

View File

@@ -23,8 +23,8 @@ import (
"net/http"
"strings"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
utilcert "k8s.io/kubernetes/pkg/util/cert"
"k8s.io/kubernetes/pkg/util/sets"
x509request "k8s.io/kubernetes/plugin/pkg/auth/authenticator/request/x509"

View File

@@ -21,7 +21,7 @@ import (
"reflect"
"testing"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
func TestRequestHeader(t *testing.T) {

View File

@@ -14,8 +14,8 @@ go_library(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/util/errors:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -24,5 +24,5 @@ go_test(
srcs = ["unionauth_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)

View File

@@ -19,8 +19,8 @@ package union
import (
"net/http"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
utilerrors "k8s.io/kubernetes/pkg/util/errors"
)

View File

@@ -23,7 +23,7 @@ import (
"strings"
"testing"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
type mockAuthRequestHandler struct {

View File

@@ -17,10 +17,10 @@ go_library(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/util/errors:go_default_library",
"//pkg/util/sets:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -32,7 +32,7 @@ go_test(
tags = ["automanaged"],
deps = [
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/util/sets:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -25,8 +25,8 @@ import (
"github.com/golang/glog"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
utilerrors "k8s.io/kubernetes/pkg/util/errors"
"k8s.io/kubernetes/pkg/util/sets"
)

View File

@@ -28,8 +28,8 @@ import (
"testing"
"time"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/util/sets"
)

View File

@@ -12,7 +12,7 @@ go_library(
name = "go_default_library",
srcs = ["anytoken.go"],
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)
go_test(
@@ -20,5 +20,5 @@ go_test(
srcs = ["anytoken_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)

View File

@@ -19,7 +19,7 @@ package anytoken
import (
"strings"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
type AnyTokenAuthenticator struct{}

View File

@@ -20,7 +20,7 @@ import (
"reflect"
"testing"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
func TestAnyTokenAuthenticator(t *testing.T) {

View File

@@ -13,13 +13,13 @@ go_library(
srcs = ["oidc.go"],
tags = ["automanaged"],
deps = [
"//pkg/auth/user:go_default_library",
"//pkg/util/cert:go_default_library",
"//pkg/util/net:go_default_library",
"//pkg/util/runtime:go_default_library",
"//vendor:github.com/coreos/go-oidc/jose",
"//vendor:github.com/coreos/go-oidc/oidc",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -29,9 +29,9 @@ go_test(
library = ":go_default_library",
tags = ["automanaged"],
deps = [
"//pkg/auth/user:go_default_library",
"//plugin/pkg/auth/authenticator/token/oidc/testing:go_default_library",
"//vendor:github.com/coreos/go-oidc/jose",
"//vendor:github.com/coreos/go-oidc/oidc",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -39,7 +39,7 @@ import (
"github.com/coreos/go-oidc/jose"
"github.com/coreos/go-oidc/oidc"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
certutil "k8s.io/kubernetes/pkg/util/cert"
"k8s.io/kubernetes/pkg/util/net"
"k8s.io/kubernetes/pkg/util/runtime"

View File

@@ -29,7 +29,7 @@ import (
"github.com/coreos/go-oidc/jose"
"github.com/coreos/go-oidc/oidc"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
oidctesting "k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/oidc/testing"
)

View File

@@ -13,8 +13,8 @@ go_library(
srcs = ["tokenfile.go"],
tags = ["automanaged"],
deps = [
"//pkg/auth/user:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -23,5 +23,5 @@ go_test(
srcs = ["tokenfile_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)

View File

@@ -24,7 +24,7 @@ import (
"strings"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
type TokenAuthenticator struct {

View File

@@ -22,7 +22,7 @@ import (
"reflect"
"testing"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/apiserver/pkg/authentication/user"
)
func TestTokenFile(t *testing.T) {

View File

@@ -11,5 +11,5 @@ go_library(
name = "go_default_library",
srcs = ["tokentest.go"],
tags = ["automanaged"],
deps = ["//pkg/auth/user:go_default_library"],
deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"],
)

View File

@@ -16,7 +16,7 @@ limitations under the License.
package tokentest
import "k8s.io/kubernetes/pkg/auth/user"
import "k8s.io/apiserver/pkg/authentication/user"
type TokenAuthenticator struct {
Tokens map[string]*user.DefaultInfo

View File

@@ -16,11 +16,11 @@ go_library(
"//pkg/apis/authentication/install:go_default_library",
"//pkg/apis/authentication/v1beta1:go_default_library",
"//pkg/auth/authenticator:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/client/clientset_generated/clientset/typed/authentication/v1beta1:go_default_library",
"//pkg/runtime/schema:go_default_library",
"//pkg/util/cache:go_default_library",
"//plugin/pkg/webhook:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -35,7 +35,7 @@ go_test(
deps = [
"//pkg/apis/authentication/v1beta1:go_default_library",
"//pkg/apis/meta/v1:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/client/unversioned/clientcmd/api/v1:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -20,10 +20,10 @@ package webhook
import (
"time"
"k8s.io/apiserver/pkg/authentication/user"
_ "k8s.io/kubernetes/pkg/apis/authentication/install"
authentication "k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
"k8s.io/kubernetes/pkg/auth/authenticator"
"k8s.io/kubernetes/pkg/auth/user"
authenticationclient "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1"
"k8s.io/kubernetes/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/util/cache"

View File

@@ -30,9 +30,9 @@ import (
"testing"
"time"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1"
)

View File

@@ -19,9 +19,9 @@ go_library(
"//pkg/apis/rbac:go_default_library",
"//pkg/apis/rbac/validation:go_default_library",
"//pkg/auth/authorizer:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/util/errors:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)
@@ -38,6 +38,6 @@ go_test(
"//pkg/apis/rbac:go_default_library",
"//pkg/apis/rbac/validation:go_default_library",
"//pkg/auth/authorizer:go_default_library",
"//pkg/auth/user:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -18,8 +18,8 @@ go_library(
deps = [
"//pkg/api:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/auth/user:go_default_library",
"//vendor:github.com/golang/glog",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -17,9 +17,9 @@ limitations under the License.
package bootstrappolicy
import (
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/api"
rbac "k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/auth/user"
)
var (

View File

@@ -21,10 +21,10 @@ import (
"fmt"
"github.com/golang/glog"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/rbac/validation"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
)
type RequestToRuleMapper interface {

View File

@@ -21,11 +21,11 @@ import (
"strings"
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/rbac/validation"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
)
func newRule(verbs, apiGroups, resources, nonResourceURLs string) rbac.PolicyRule {

View File

@@ -18,10 +18,10 @@ limitations under the License.
package rbac
import (
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/rbac/validation"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
utilerrors "k8s.io/kubernetes/pkg/util/errors"
)

View File

@@ -20,10 +20,10 @@ import (
"reflect"
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/rbac/validation"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
)
func TestSubjectLocator(t *testing.T) {

View File

@@ -36,8 +36,8 @@ go_test(
"//pkg/apis/authorization/v1beta1:go_default_library",
"//pkg/apis/meta/v1:go_default_library",
"//pkg/auth/authorizer:go_default_library",
"//pkg/auth/user:go_default_library",
"//pkg/client/unversioned/clientcmd/api/v1:go_default_library",
"//pkg/util/diff:go_default_library",
"//vendor:k8s.io/apiserver/pkg/authentication/user",
],
)

View File

@@ -32,10 +32,10 @@ import (
"text/template"
"time"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/authorization/v1beta1"
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/auth/authorizer"
"k8s.io/kubernetes/pkg/auth/user"
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1"
"k8s.io/kubernetes/pkg/util/diff"
)