diff --git a/cmd/kube-dns/app/BUILD b/cmd/kube-dns/app/BUILD index 3e449ed44f4..03da17ffbd3 100644 --- a/cmd/kube-dns/app/BUILD +++ b/cmd/kube-dns/app/BUILD @@ -13,15 +13,14 @@ go_library( tags = ["automanaged"], deps = [ "//cmd/kube-dns/app/options:go_default_library", - "//pkg/client/clientset_generated/clientset:go_default_library", - "//pkg/client/restclient:go_default_library", - "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/dns:go_default_library", "//pkg/dns/config:go_default_library", - "//pkg/runtime/schema:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/skynetservices/skydns/metrics", "//vendor:github.com/skynetservices/skydns/server", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/client-go/kubernetes", + "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/clientcmd", ], ) diff --git a/cmd/kube-dns/app/server.go b/cmd/kube-dns/app/server.go index f856897c590..be6ba3453fd 100644 --- a/cmd/kube-dns/app/server.go +++ b/cmd/kube-dns/app/server.go @@ -29,12 +29,12 @@ import ( "github.com/spf13/pflag" "k8s.io/kubernetes/cmd/kube-dns/app/options" - clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/client/restclient" - kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" - kdns "k8s.io/kubernetes/pkg/dns" + "k8s.io/kubernetes/pkg/dns" dnsconfig "k8s.io/kubernetes/pkg/dns/config" - "k8s.io/kubernetes/pkg/runtime/schema" + + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" + "k8s.io/client-go/tools/clientcmd" ) type KubeDNSServer struct { @@ -43,7 +43,7 @@ type KubeDNSServer struct { healthzPort int dnsBindAddress string dnsPort int - kd *kdns.KubeDNS + kd *dns.KubeDNS } func NewKubeDNSServerDefault(config *options.KubeDNSConfig) *KubeDNSServer { @@ -69,41 +69,28 @@ func NewKubeDNSServerDefault(config *options.KubeDNSConfig) *KubeDNSServer { healthzPort: config.HealthzPort, dnsBindAddress: config.DNSBindAddress, dnsPort: config.DNSPort, - kd: kdns.NewKubeDNS(kubeClient, config.ClusterDomain, config.InitialSyncTimeout, configSync), + kd: dns.NewKubeDNS(kubeClient, config.ClusterDomain, config.InitialSyncTimeout, configSync), } } -// TODO: evaluate using pkg/client/clientcmd -func newKubeClient(dnsConfig *options.KubeDNSConfig) (clientset.Interface, error) { - var ( - config *restclient.Config - err error - ) +func newKubeClient(dnsConfig *options.KubeDNSConfig) (kubernetes.Interface, error) { + var config *rest.Config + var err error - if dnsConfig.KubeMasterURL != "" && dnsConfig.KubeConfigFile == "" { - // Only --kube-master-url was provided. - config = &restclient.Config{ - Host: dnsConfig.KubeMasterURL, - ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Version: "v1"}}, + if dnsConfig.KubeConfigFile == "" { + config, err = rest.InClusterConfig() + if err != nil { + return nil, err } } else { - // We either have: - // 1) --kube-master-url and --kubecfg-file - // 2) just --kubecfg-file - // 3) neither flag - // In any case, the logic is the same. If (3), this will automatically - // fall back on the service account token. - overrides := &kclientcmd.ConfigOverrides{} - overrides.ClusterInfo.Server = dnsConfig.KubeMasterURL // might be "", but that is OK - rules := &kclientcmd.ClientConfigLoadingRules{ExplicitPath: dnsConfig.KubeConfigFile} // might be "", but that is OK - if config, err = kclientcmd.NewNonInteractiveDeferredLoadingClientConfig(rules, overrides).ClientConfig(); err != nil { + config, err = clientcmd.BuildConfigFromFlags( + dnsConfig.KubeMasterURL, dnsConfig.KubeConfigFile) + if err != nil { return nil, err } } - glog.V(0).Infof("Using %v for kubernetes master, kubernetes API: %v", - config.Host, config.GroupVersion) - return clientset.NewForConfig(config) + return kubernetes.NewForConfig(config) } func (server *KubeDNSServer) Run() { diff --git a/cmd/kube-dns/dns.go b/cmd/kube-dns/dns.go index 845edebf329..273ca822d8a 100644 --- a/cmd/kube-dns/dns.go +++ b/cmd/kube-dns/dns.go @@ -19,14 +19,16 @@ package main import ( "github.com/golang/glog" "github.com/spf13/pflag" + "k8s.io/kubernetes/cmd/kube-dns/app" "k8s.io/kubernetes/cmd/kube-dns/app/options" - _ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration "k8s.io/kubernetes/pkg/util/flag" "k8s.io/kubernetes/pkg/util/logs" "k8s.io/kubernetes/pkg/version" - _ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration "k8s.io/kubernetes/pkg/version/verflag" + + _ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration + _ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration ) func main() { diff --git a/pkg/dns/BUILD b/pkg/dns/BUILD index 872ffe3c689..ca7d6866be8 100644 --- a/pkg/dns/BUILD +++ b/pkg/dns/BUILD @@ -16,22 +16,21 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/v1:go_default_library", - "//pkg/api/v1/endpoints:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/client/cache:go_default_library", - "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/dns/config:go_default_library", "//pkg/dns/treecache:go_default_library", "//pkg/dns/util:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/validation:go_default_library", "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:github.com/golang/glog", "//vendor:github.com/miekg/dns", "//vendor:github.com/skynetservices/skydns/msg", + "//vendor:k8s.io/client-go/kubernetes", + "//vendor:k8s.io/client-go/pkg/api/v1", + "//vendor:k8s.io/client-go/pkg/apis/meta/v1", + "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -41,11 +40,6 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/v1:go_default_library", - "//pkg/api/v1/endpoints:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/client/cache:go_default_library", - "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/dns/config:go_default_library", "//pkg/dns/treecache:go_default_library", "//pkg/dns/util:go_default_library", @@ -56,5 +50,9 @@ go_test( "//vendor:github.com/skynetservices/skydns/server", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/client-go/kubernetes/fake", + "//vendor:k8s.io/client-go/pkg/api/v1", + "//vendor:k8s.io/client-go/pkg/apis/meta/v1", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/dns/config/BUILD b/pkg/dns/config/BUILD index 2e4b2ef2c3e..7ff0f13d36e 100644 --- a/pkg/dns/config/BUILD +++ b/pkg/dns/config/BUILD @@ -18,16 +18,16 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/client/cache:go_default_library", - "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/dns/federation:go_default_library", - "//pkg/fields:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/client-go/kubernetes", + "//vendor:k8s.io/client-go/pkg/api/v1", + "//vendor:k8s.io/client-go/pkg/apis/meta/v1", + "//vendor:k8s.io/client-go/pkg/fields", + "//vendor:k8s.io/client-go/pkg/runtime", "//vendor:k8s.io/client-go/pkg/util/wait", + "//vendor:k8s.io/client-go/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/dns/config/config.go b/pkg/dns/config/config.go index ccea793e850..79256cdbed9 100644 --- a/pkg/dns/config/config.go +++ b/pkg/dns/config/config.go @@ -17,7 +17,7 @@ limitations under the License. package config import ( - types "k8s.io/kubernetes/pkg/apis/meta/v1" + types "k8s.io/client-go/pkg/apis/meta/v1" fed "k8s.io/kubernetes/pkg/dns/federation" ) diff --git a/pkg/dns/config/sync.go b/pkg/dns/config/sync.go index 21f5a9e8c2b..249225f63a6 100644 --- a/pkg/dns/config/sync.go +++ b/pkg/dns/config/sync.go @@ -17,15 +17,16 @@ limitations under the License. package config import ( + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/pkg/api/v1" + metav1 "k8s.io/client-go/pkg/apis/meta/v1" + "k8s.io/client-go/pkg/fields" + "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/client/cache" - clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + "k8s.io/client-go/pkg/watch" + "k8s.io/client-go/tools/cache" + fed "k8s.io/kubernetes/pkg/dns/federation" - "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" "time" @@ -47,7 +48,7 @@ type Sync interface { } // NewSync for ConfigMap from namespace `ns` and `name`. -func NewSync(client clientset.Interface, ns string, name string) Sync { +func NewSync(client kubernetes.Interface, ns string, name string) Sync { sync := &kubeSync{ ns: ns, name: name, @@ -87,7 +88,7 @@ type kubeSync struct { ns string name string - client clientset.Interface + client kubernetes.Interface store cache.Store controller *cache.Controller diff --git a/pkg/dns/dns.go b/pkg/dns/dns.go index 955114ef82d..250c9ba388d 100644 --- a/pkg/dns/dns.go +++ b/pkg/dns/dns.go @@ -23,17 +23,18 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - kcache "k8s.io/kubernetes/pkg/client/cache" - clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + clientset "k8s.io/client-go/kubernetes" + "k8s.io/client-go/pkg/api/v1" + metav1 "k8s.io/client-go/pkg/apis/meta/v1" + "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/watch" + kcache "k8s.io/client-go/tools/cache" + "k8s.io/kubernetes/pkg/dns/config" "k8s.io/kubernetes/pkg/dns/treecache" "k8s.io/kubernetes/pkg/dns/util" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/validation" "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" etcd "github.com/coreos/etcd/client" "github.com/golang/glog" diff --git a/pkg/dns/dns_test.go b/pkg/dns/dns_test.go index 39548e2a3e3..31173c7955f 100644 --- a/pkg/dns/dns_test.go +++ b/pkg/dns/dns_test.go @@ -31,10 +31,12 @@ import ( skyserver "github.com/skynetservices/skydns/server" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/client/cache" - fake "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" + + "k8s.io/client-go/kubernetes/fake" + "k8s.io/client-go/pkg/api/v1" + metav1 "k8s.io/client-go/pkg/apis/meta/v1" + "k8s.io/client-go/tools/cache" + "k8s.io/kubernetes/pkg/dns/config" "k8s.io/kubernetes/pkg/dns/treecache" "k8s.io/kubernetes/pkg/dns/util"