From 4d404ded1a67afb0b439264c1ffefb607678a280 Mon Sep 17 00:00:00 2001 From: Kris Date: Tue, 1 Mar 2016 14:15:55 -0800 Subject: [PATCH] Moving adapters to their own packages --- cmd/kubemark/hollow-node.go | 2 +- .../import_known_versions.go | 37 +++++++++++++++++++ .../release_1_2/import_known_versions.go | 37 +++++++++++++++++++ .../internalclientset/clientset_adaption.go | 7 ++-- .../release_1_2/clientset_adaption.go | 7 ++-- pkg/kubectl/cmd/util/factory.go | 2 +- pkg/kubectl/describe.go | 3 +- test/e2e/deployment.go | 21 ++++++----- test/e2e/framework.go | 3 +- 9 files changed, 99 insertions(+), 20 deletions(-) create mode 100644 pkg/client/clientset_generated/internalclientset/import_known_versions.go create mode 100644 pkg/client/clientset_generated/release_1_2/import_known_versions.go rename pkg/client/{clientset_generated => unversioned/adapters}/internalclientset/clientset_adaption.go (85%) rename pkg/client/{clientset_generated => unversioned/adapters}/release_1_2/clientset_adaption.go (85%) diff --git a/cmd/kubemark/hollow-node.go b/cmd/kubemark/hollow-node.go index 655d2a33ed6..8dfc8272716 100644 --- a/cmd/kubemark/hollow-node.go +++ b/cmd/kubemark/hollow-node.go @@ -23,9 +23,9 @@ import ( docker "github.com/fsouza/go-dockerclient" "k8s.io/kubernetes/pkg/api" - clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/record" client "k8s.io/kubernetes/pkg/client/unversioned" + clientset "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing" "k8s.io/kubernetes/pkg/kubelet/cm" diff --git a/pkg/client/clientset_generated/internalclientset/import_known_versions.go b/pkg/client/clientset_generated/internalclientset/import_known_versions.go new file mode 100644 index 00000000000..a74dbc5d27c --- /dev/null +++ b/pkg/client/clientset_generated/internalclientset/import_known_versions.go @@ -0,0 +1,37 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package internalclientset + +// These imports are the API groups the client will support. +import ( + "fmt" + + _ "k8s.io/kubernetes/pkg/api/install" + "k8s.io/kubernetes/pkg/apimachinery/registered" + _ "k8s.io/kubernetes/pkg/apis/authorization/install" + _ "k8s.io/kubernetes/pkg/apis/autoscaling/install" + _ "k8s.io/kubernetes/pkg/apis/batch/install" + _ "k8s.io/kubernetes/pkg/apis/componentconfig/install" + _ "k8s.io/kubernetes/pkg/apis/extensions/install" + _ "k8s.io/kubernetes/pkg/apis/metrics/install" +) + +func init() { + if missingVersions := registered.ValidateEnvRequestedVersions(); len(missingVersions) != 0 { + panic(fmt.Sprintf("KUBE_API_VERSIONS contains versions that are not installed: %q.", missingVersions)) + } +} diff --git a/pkg/client/clientset_generated/release_1_2/import_known_versions.go b/pkg/client/clientset_generated/release_1_2/import_known_versions.go new file mode 100644 index 00000000000..e69af18cd2d --- /dev/null +++ b/pkg/client/clientset_generated/release_1_2/import_known_versions.go @@ -0,0 +1,37 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package release_1_2 + +// These imports are the API groups the client will support. +import ( + "fmt" + + _ "k8s.io/kubernetes/pkg/api/install" + "k8s.io/kubernetes/pkg/apimachinery/registered" + _ "k8s.io/kubernetes/pkg/apis/authorization/install" + _ "k8s.io/kubernetes/pkg/apis/autoscaling/install" + _ "k8s.io/kubernetes/pkg/apis/batch/install" + _ "k8s.io/kubernetes/pkg/apis/componentconfig/install" + _ "k8s.io/kubernetes/pkg/apis/extensions/install" + _ "k8s.io/kubernetes/pkg/apis/metrics/install" +) + +func init() { + if missingVersions := registered.ValidateEnvRequestedVersions(); len(missingVersions) != 0 { + panic(fmt.Sprintf("KUBE_API_VERSIONS contains versions that are not installed: %q.", missingVersions)) + } +} diff --git a/pkg/client/clientset_generated/internalclientset/clientset_adaption.go b/pkg/client/unversioned/adapters/internalclientset/clientset_adaption.go similarity index 85% rename from pkg/client/clientset_generated/internalclientset/clientset_adaption.go rename to pkg/client/unversioned/adapters/internalclientset/clientset_adaption.go index 2e1214ac1c5..871c2275194 100644 --- a/pkg/client/clientset_generated/internalclientset/clientset_adaption.go +++ b/pkg/client/unversioned/adapters/internalclientset/clientset_adaption.go @@ -17,17 +17,18 @@ limitations under the License. package internalclientset import ( + "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/typed/discovery" unversionedcore "k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned" unversionedextensions "k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned" "k8s.io/kubernetes/pkg/client/unversioned" ) -// FromUnversionedClient adapts a pkg/client/unversioned#Client to a Clientset. +// FromUnversionedClient adapts a unversioned.Client to a internalclientset.Clientset. // This function is temporary. We will remove it when everyone has moved to using // Clientset. New code should NOT use this function. -func FromUnversionedClient(c *unversioned.Client) *Clientset { - var clientset Clientset +func FromUnversionedClient(c *unversioned.Client) *internalclientset.Clientset { + var clientset internalclientset.Clientset if c != nil { clientset.CoreClient = unversionedcore.New(c.RESTClient) } else { diff --git a/pkg/client/clientset_generated/release_1_2/clientset_adaption.go b/pkg/client/unversioned/adapters/release_1_2/clientset_adaption.go similarity index 85% rename from pkg/client/clientset_generated/release_1_2/clientset_adaption.go rename to pkg/client/unversioned/adapters/release_1_2/clientset_adaption.go index 46010130742..203649e5062 100644 --- a/pkg/client/clientset_generated/release_1_2/clientset_adaption.go +++ b/pkg/client/unversioned/adapters/release_1_2/clientset_adaption.go @@ -17,17 +17,18 @@ limitations under the License. package release_1_2 import ( + "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_2" "k8s.io/kubernetes/pkg/client/typed/discovery" v1core "k8s.io/kubernetes/pkg/client/typed/generated/core/v1" v1beta1extensions "k8s.io/kubernetes/pkg/client/typed/generated/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/unversioned" ) -// FromUnversionedClient adapts a pkg/client/unversioned#Client to a Clientset. +// FromUnversionedClient adapts a unversioned.Client to a release_1_2.Clientset. // This function is temporary. We will remove it when everyone has moved to using // Clientset. New code should NOT use this function. -func FromUnversionedClient(c *unversioned.Client) *Clientset { - var clientset Clientset +func FromUnversionedClient(c *unversioned.Client) *release_1_2.Clientset { + var clientset release_1_2.Clientset if c != nil { clientset.CoreClient = v1core.New(c.RESTClient) } else { diff --git a/pkg/kubectl/cmd/util/factory.go b/pkg/kubectl/cmd/util/factory.go index f87a36f09c7..0076ce99a72 100644 --- a/pkg/kubectl/cmd/util/factory.go +++ b/pkg/kubectl/cmd/util/factory.go @@ -44,9 +44,9 @@ import ( "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/metrics" - clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" client "k8s.io/kubernetes/pkg/client/unversioned" + clientset "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index 0a09b3a069c..3aacbbb17cd 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -38,6 +38,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" client "k8s.io/kubernetes/pkg/client/unversioned" + adapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset" "k8s.io/kubernetes/pkg/fieldpath" "k8s.io/kubernetes/pkg/fields" qosutil "k8s.io/kubernetes/pkg/kubelet/qos/util" @@ -95,7 +96,7 @@ func describerMap(c *client.Client) map[unversioned.GroupKind]Describer { extensions.Kind("HorizontalPodAutoscaler"): &HorizontalPodAutoscalerDescriber{c}, autoscaling.Kind("HorizontalPodAutoscaler"): &HorizontalPodAutoscalerDescriber{c}, extensions.Kind("DaemonSet"): &DaemonSetDescriber{c}, - extensions.Kind("Deployment"): &DeploymentDescriber{clientset.FromUnversionedClient(c)}, + extensions.Kind("Deployment"): &DeploymentDescriber{adapter.FromUnversionedClient(c)}, extensions.Kind("Job"): &JobDescriber{c}, batch.Kind("Job"): &JobDescriber{c}, extensions.Kind("Ingress"): &IngressDescriber{c}, diff --git a/test/e2e/deployment.go b/test/e2e/deployment.go index ff7930f153d..8381cce3aee 100644 --- a/test/e2e/deployment.go +++ b/test/e2e/deployment.go @@ -26,6 +26,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" client "k8s.io/kubernetes/pkg/client/unversioned" + adapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/internalclientset" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util" @@ -211,7 +212,7 @@ func testNewDeployment(f *Framework) { ns := f.Namespace.Name // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. - c := clientset.FromUnversionedClient(f.Client) + c := adapter.FromUnversionedClient(f.Client) deploymentName := "test-new-deployment" podLabels := map[string]string{"name": nginxImageName} @@ -246,7 +247,7 @@ func testRollingUpdateDeployment(f *Framework) { // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) // Create nginx pods. deploymentPodLabels := map[string]string{"name": "sample-pod"} rsPodLabels := map[string]string{ @@ -296,7 +297,7 @@ func testRollingUpdateDeploymentEvents(f *Framework) { // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) // Create nginx pods. deploymentPodLabels := map[string]string{"name": "sample-pod-2"} rsPodLabels := map[string]string{ @@ -358,7 +359,7 @@ func testRecreateDeployment(f *Framework) { // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) // Create nginx pods. deploymentPodLabels := map[string]string{"name": "sample-pod-3"} rsPodLabels := map[string]string{ @@ -413,7 +414,7 @@ func testRecreateDeployment(f *Framework) { func testDeploymentCleanUpPolicy(f *Framework) { ns := f.Namespace.Name unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) // Create nginx pods. deploymentPodLabels := map[string]string{"name": "cleanup-pod"} rsPodLabels := map[string]string{ @@ -488,7 +489,7 @@ func testRolloverDeployment(f *Framework) { // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) podName := "rollover-pod" deploymentPodLabels := map[string]string{"name": podName} rsPodLabels := map[string]string{ @@ -562,7 +563,7 @@ func testPausedDeployment(f *Framework) { // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) deploymentName := "test-paused-deployment" podLabels := map[string]string{"name": nginxImageName} d := newDeployment(deploymentName, 1, podLabels, nginxImageName, nginxImage, extensions.RollingUpdateDeploymentStrategyType, nil) @@ -645,7 +646,7 @@ func testPausedDeployment(f *Framework) { func testRollbackDeployment(f *Framework) { ns := f.Namespace.Name unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) podName := "nginx" deploymentPodLabels := map[string]string{"name": podName} @@ -733,7 +734,7 @@ func testRollbackDeployment(f *Framework) { // TODO: When we finished reporting rollback status in deployment status, check the rollback status here in each case. func testRollbackDeploymentRSNoRevision(f *Framework) { ns := f.Namespace.Name - c := clientset.FromUnversionedClient(f.Client) + c := adapter.FromUnversionedClient(f.Client) podName := "nginx" deploymentPodLabels := map[string]string{"name": podName} rsPodLabels := map[string]string{ @@ -870,7 +871,7 @@ func testDeploymentLabelAdopted(f *Framework) { // TODO: remove unversionedClient when the refactoring is done. Currently some // functions like verifyPod still expects a unversioned#Client. unversionedClient := f.Client - c := clientset.FromUnversionedClient(unversionedClient) + c := adapter.FromUnversionedClient(unversionedClient) // Create nginx pods. podName := "nginx" podLabels := map[string]string{"name": podName} diff --git a/test/e2e/framework.go b/test/e2e/framework.go index c56e5a0c8ed..08acc9cd99c 100644 --- a/test/e2e/framework.go +++ b/test/e2e/framework.go @@ -28,6 +28,7 @@ import ( apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_2" client "k8s.io/kubernetes/pkg/client/unversioned" + adapter "k8s.io/kubernetes/pkg/client/unversioned/adapters/release_1_2" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/metrics" @@ -118,7 +119,7 @@ func (f *Framework) beforeEach() { Expect(err).NotTo(HaveOccurred()) f.Client = c - f.Clientset_1_2 = release_1_2.FromUnversionedClient(c) + f.Clientset_1_2 = adapter.FromUnversionedClient(c) By("Building a namespace api object") namespace, err := f.CreateNamespace(f.BaseName, map[string]string{