mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
Merge pull request #30397 from madhusudancs/fed-e2e-switch-release_1_4-client
Automatic merge from submit-queue Remove unversioned federation client, clientset and versioned release_1_3 clientset and all their accesses in e2e tests. Switch everything to federation release_1_4 external client. cc @kubernetes/sig-cluster-federation <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30397) <!-- Reviewable:end -->
This commit is contained in:
commit
53331f7a60
@ -23,8 +23,8 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/federation/apis/federation"
|
federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_3"
|
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/errors"
|
"k8s.io/kubernetes/pkg/api/errors"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
@ -94,11 +94,11 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
|
|||||||
createClusterObjectOrFail(f, &context)
|
createClusterObjectOrFail(f, &context)
|
||||||
}
|
}
|
||||||
|
|
||||||
var clusterList *federation.ClusterList
|
var clusterList *federationapi.ClusterList
|
||||||
By("Obtaining a list of all the clusters")
|
By("Obtaining a list of all the clusters")
|
||||||
if err := wait.PollImmediate(framework.Poll, FederatedServiceTimeout, func() (bool, error) {
|
if err := wait.PollImmediate(framework.Poll, FederatedServiceTimeout, func() (bool, error) {
|
||||||
var err error
|
var err error
|
||||||
clusterList, err = f.FederationClientset.Federation().Clusters().List(api.ListOptions{})
|
clusterList, err = f.FederationClientset_1_4.Federation().Clusters().List(api.ListOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
@ -174,10 +174,10 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Delete the registered clusters in the federation API server.
|
// Delete the registered clusters in the federation API server.
|
||||||
clusterList, err := f.FederationClientset.Federation().Clusters().List(api.ListOptions{})
|
clusterList, err := f.FederationClientset_1_4.Federation().Clusters().List(api.ListOptions{})
|
||||||
framework.ExpectNoError(err, "Error listing clusters")
|
framework.ExpectNoError(err, "Error listing clusters")
|
||||||
for _, cluster := range clusterList.Items {
|
for _, cluster := range clusterList.Items {
|
||||||
err := f.FederationClientset.Federation().Clusters().Delete(cluster.Name, &api.DeleteOptions{})
|
err := f.FederationClientset_1_4.Federation().Clusters().Delete(cluster.Name, &api.DeleteOptions{})
|
||||||
framework.ExpectNoError(err, "Error deleting cluster %q", cluster.Name)
|
framework.ExpectNoError(err, "Error deleting cluster %q", cluster.Name)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -195,20 +195,20 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
|
|||||||
|
|
||||||
It("should succeed", func() {
|
It("should succeed", func() {
|
||||||
framework.SkipUnlessFederated(f.Client)
|
framework.SkipUnlessFederated(f.Client)
|
||||||
service := createServiceOrFail(f.FederationClientset_1_3, f.Namespace.Name)
|
service := createServiceOrFail(f.FederationClientset_1_4, f.Namespace.Name)
|
||||||
By(fmt.Sprintf("Creation of service %q in namespace %q succeeded. Deleting service.", service.Name, f.Namespace.Name))
|
By(fmt.Sprintf("Creation of service %q in namespace %q succeeded. Deleting service.", service.Name, f.Namespace.Name))
|
||||||
// Cleanup
|
// Cleanup
|
||||||
err := f.FederationClientset_1_3.Services(f.Namespace.Name).Delete(service.Name, &api.DeleteOptions{})
|
err := f.FederationClientset_1_4.Services(f.Namespace.Name).Delete(service.Name, &api.DeleteOptions{})
|
||||||
framework.ExpectNoError(err, "Error deleting service %q in namespace %q", service.Name, service.Namespace)
|
framework.ExpectNoError(err, "Error deleting service %q in namespace %q", service.Name, service.Namespace)
|
||||||
By(fmt.Sprintf("Deletion of service %q in namespace %q succeeded.", service.Name, f.Namespace.Name))
|
By(fmt.Sprintf("Deletion of service %q in namespace %q succeeded.", service.Name, f.Namespace.Name))
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should create matching services in underlying clusters", func() {
|
It("should create matching services in underlying clusters", func() {
|
||||||
framework.SkipUnlessFederated(f.Client)
|
framework.SkipUnlessFederated(f.Client)
|
||||||
service := createServiceOrFail(f.FederationClientset_1_3, f.Namespace.Name)
|
service := createServiceOrFail(f.FederationClientset_1_4, f.Namespace.Name)
|
||||||
defer func() { // Cleanup
|
defer func() { // Cleanup
|
||||||
By(fmt.Sprintf("Deleting service %q in namespace %q", service.Name, f.Namespace.Name))
|
By(fmt.Sprintf("Deleting service %q in namespace %q", service.Name, f.Namespace.Name))
|
||||||
err := f.FederationClientset_1_3.Services(f.Namespace.Name).Delete(service.Name, &api.DeleteOptions{})
|
err := f.FederationClientset_1_4.Services(f.Namespace.Name).Delete(service.Name, &api.DeleteOptions{})
|
||||||
framework.ExpectNoError(err, "Error deleting service %q in namespace %q", service.Name, f.Namespace.Name)
|
framework.ExpectNoError(err, "Error deleting service %q in namespace %q", service.Name, f.Namespace.Name)
|
||||||
}()
|
}()
|
||||||
waitForServiceShardsOrFail(f.Namespace.Name, service, clusters)
|
waitForServiceShardsOrFail(f.Namespace.Name, service, clusters)
|
||||||
@ -224,7 +224,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
|
|||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
framework.SkipUnlessFederated(f.Client)
|
framework.SkipUnlessFederated(f.Client)
|
||||||
createBackendPodsOrFail(clusters, f.Namespace.Name, FederatedServicePodName)
|
createBackendPodsOrFail(clusters, f.Namespace.Name, FederatedServicePodName)
|
||||||
service = createServiceOrFail(f.FederationClientset_1_3, f.Namespace.Name)
|
service = createServiceOrFail(f.FederationClientset_1_4, f.Namespace.Name)
|
||||||
waitForServiceShardsOrFail(f.Namespace.Name, service, clusters)
|
waitForServiceShardsOrFail(f.Namespace.Name, service, clusters)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
|
|||||||
deleteBackendPodsOrFail(clusters, f.Namespace.Name)
|
deleteBackendPodsOrFail(clusters, f.Namespace.Name)
|
||||||
|
|
||||||
if service != nil {
|
if service != nil {
|
||||||
deleteServiceOrFail(f.FederationClientset_1_3, f.Namespace.Name, service.Name)
|
deleteServiceOrFail(f.FederationClientset_1_4, f.Namespace.Name, service.Name)
|
||||||
service = nil
|
service = nil
|
||||||
} else {
|
} else {
|
||||||
By("No service to delete. Service is nil")
|
By("No service to delete. Service is nil")
|
||||||
@ -356,9 +356,9 @@ func waitForServiceShardsOrFail(namespace string, service *v1.Service, clusters
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func createServiceOrFail(clientset *federation_release_1_3.Clientset, namespace string) *v1.Service {
|
func createService(clientset *federation_release_1_4.Clientset, namespace string) (*v1.Service, error) {
|
||||||
if clientset == nil || len(namespace) == 0 {
|
if clientset == nil || len(namespace) == 0 {
|
||||||
Fail(fmt.Sprintf("Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v", clientset, namespace))
|
return nil, fmt.Errorf("Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v", clientset, namespace)
|
||||||
}
|
}
|
||||||
By(fmt.Sprintf("Creating federated service %q in namespace %q", FederatedServiceName, namespace))
|
By(fmt.Sprintf("Creating federated service %q in namespace %q", FederatedServiceName, namespace))
|
||||||
|
|
||||||
@ -379,13 +379,17 @@ func createServiceOrFail(clientset *federation_release_1_3.Clientset, namespace
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
By(fmt.Sprintf("Trying to create service %q in namespace %q", service.Name, namespace))
|
By(fmt.Sprintf("Trying to create service %q in namespace %q", service.Name, namespace))
|
||||||
_, err := clientset.Services(namespace).Create(service)
|
return clientset.Services(namespace).Create(service)
|
||||||
|
}
|
||||||
|
|
||||||
|
func createServiceOrFail(clientset *federation_release_1_4.Clientset, namespace string) *v1.Service {
|
||||||
|
service, err := createService(clientset, namespace)
|
||||||
framework.ExpectNoError(err, "Creating service %q in namespace %q", service.Name, namespace)
|
framework.ExpectNoError(err, "Creating service %q in namespace %q", service.Name, namespace)
|
||||||
By(fmt.Sprintf("Successfully created federated service %q in namespace %q", FederatedServiceName, namespace))
|
By(fmt.Sprintf("Successfully created federated service %q in namespace %q", FederatedServiceName, namespace))
|
||||||
return service
|
return service
|
||||||
}
|
}
|
||||||
|
|
||||||
func deleteServiceOrFail(clientset *federation_release_1_3.Clientset, namespace string, serviceName string) {
|
func deleteServiceOrFail(clientset *federation_release_1_4.Clientset, namespace string, serviceName string) {
|
||||||
if clientset == nil || len(namespace) == 0 || len(serviceName) == 0 {
|
if clientset == nil || len(namespace) == 0 || len(serviceName) == 0 {
|
||||||
Fail(fmt.Sprintf("Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v, service: %v", clientset, namespace, serviceName))
|
Fail(fmt.Sprintf("Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v, service: %v", clientset, namespace, serviceName))
|
||||||
}
|
}
|
||||||
|
@ -21,9 +21,10 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
federationapi "k8s.io/kubernetes/federation/apis/federation"
|
federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/util/wait"
|
"k8s.io/kubernetes/pkg/util/wait"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
|
|
||||||
@ -40,10 +41,10 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
|
|||||||
|
|
||||||
// Delete registered clusters.
|
// Delete registered clusters.
|
||||||
// This is if a test failed, it should not affect other tests.
|
// This is if a test failed, it should not affect other tests.
|
||||||
clusterList, err := f.FederationClientset.Federation().Clusters().List(api.ListOptions{})
|
clusterList, err := f.FederationClientset_1_4.Federation().Clusters().List(api.ListOptions{})
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
for _, cluster := range clusterList.Items {
|
for _, cluster := range clusterList.Items {
|
||||||
err := f.FederationClientset.Federation().Clusters().Delete(cluster.Name, &api.DeleteOptions{})
|
err := f.FederationClientset_1_4.Federation().Clusters().Delete(cluster.Name, &api.DeleteOptions{})
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -68,14 +69,14 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
|
|||||||
framework.Logf("Deleting %d clusters", len(contexts))
|
framework.Logf("Deleting %d clusters", len(contexts))
|
||||||
for _, context := range contexts {
|
for _, context := range contexts {
|
||||||
framework.Logf("Deleting cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
framework.Logf("Deleting cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
||||||
err := f.FederationClientset.Federation().Clusters().Delete(context.Name, &api.DeleteOptions{})
|
err := f.FederationClientset_1_4.Federation().Clusters().Delete(context.Name, &api.DeleteOptions{})
|
||||||
framework.ExpectNoError(err, fmt.Sprintf("unexpected error in deleting cluster %s: %+v", context.Name, err))
|
framework.ExpectNoError(err, fmt.Sprintf("unexpected error in deleting cluster %s: %+v", context.Name, err))
|
||||||
framework.Logf("Successfully deleted cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
framework.Logf("Successfully deleted cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
// There should not be any remaining cluster.
|
// There should not be any remaining cluster.
|
||||||
framework.Logf("Verifying that zero clusters remain")
|
framework.Logf("Verifying that zero clusters remain")
|
||||||
clusterList, err := f.FederationClientset.Federation().Clusters().List(api.ListOptions{})
|
clusterList, err := f.FederationClientset_1_4.Federation().Clusters().List(api.ListOptions{})
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
if len(clusterList.Items) != 0 {
|
if len(clusterList.Items) != 0 {
|
||||||
framework.Failf("there should not have been any remaining clusters. Found: %+v", clusterList)
|
framework.Failf("there should not have been any remaining clusters. Found: %+v", clusterList)
|
||||||
@ -86,14 +87,14 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Verify that the cluster is marked ready.
|
// Verify that the cluster is marked ready.
|
||||||
func isReady(clusterName string, clientset *federation_internalclientset.Clientset) error {
|
func isReady(clusterName string, clientset *federation_release_1_4.Clientset) error {
|
||||||
return wait.PollImmediate(time.Second, 5*time.Minute, func() (bool, error) {
|
return wait.PollImmediate(time.Second, 5*time.Minute, func() (bool, error) {
|
||||||
c, err := clientset.Federation().Clusters().Get(clusterName)
|
c, err := clientset.Federation().Clusters().Get(clusterName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
for _, condition := range c.Status.Conditions {
|
for _, condition := range c.Status.Conditions {
|
||||||
if condition.Type == federationapi.ClusterReady && condition.Status == api.ConditionTrue {
|
if condition.Type == federationapi.ClusterReady && condition.Status == v1.ConditionTrue {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,15 +19,15 @@ package e2e
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
federationapi "k8s.io/kubernetes/federation/apis/federation"
|
federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
)
|
)
|
||||||
|
|
||||||
func createClusterObjectOrFail(f *framework.Framework, context *framework.E2EContext) {
|
func createClusterObjectOrFail(f *framework.Framework, context *framework.E2EContext) {
|
||||||
framework.Logf("Creating cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
framework.Logf("Creating cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
||||||
cluster := federationapi.Cluster{
|
cluster := federationapi.Cluster{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: v1.ObjectMeta{
|
||||||
Name: context.Name,
|
Name: context.Name,
|
||||||
},
|
},
|
||||||
Spec: federationapi.ClusterSpec{
|
Spec: federationapi.ClusterSpec{
|
||||||
@ -37,7 +37,7 @@ func createClusterObjectOrFail(f *framework.Framework, context *framework.E2ECon
|
|||||||
ServerAddress: context.Cluster.Cluster.Server,
|
ServerAddress: context.Cluster.Cluster.Server,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
SecretRef: &api.LocalObjectReference{
|
SecretRef: &v1.LocalObjectReference{
|
||||||
// Note: Name must correlate with federation build script secret name,
|
// Note: Name must correlate with federation build script secret name,
|
||||||
// which currently matches the cluster name.
|
// which currently matches the cluster name.
|
||||||
// See federation/cluster/common.sh:132
|
// See federation/cluster/common.sh:132
|
||||||
@ -45,18 +45,18 @@ func createClusterObjectOrFail(f *framework.Framework, context *framework.E2ECon
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
_, err := f.FederationClientset.Federation().Clusters().Create(&cluster)
|
_, err := f.FederationClientset_1_4.Federation().Clusters().Create(&cluster)
|
||||||
framework.ExpectNoError(err, fmt.Sprintf("creating cluster: %+v", err))
|
framework.ExpectNoError(err, fmt.Sprintf("creating cluster: %+v", err))
|
||||||
framework.Logf("Successfully created cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
framework.Logf("Successfully created cluster object: %s (%s, secret: %s)", context.Name, context.Cluster.Cluster.Server, context.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
func clusterIsReadyOrFail(f *framework.Framework, context *framework.E2EContext) {
|
func clusterIsReadyOrFail(f *framework.Framework, context *framework.E2EContext) {
|
||||||
c, err := f.FederationClientset.Federation().Clusters().Get(context.Name)
|
c, err := f.FederationClientset_1_4.Federation().Clusters().Get(context.Name)
|
||||||
framework.ExpectNoError(err, fmt.Sprintf("get cluster: %+v", err))
|
framework.ExpectNoError(err, fmt.Sprintf("get cluster: %+v", err))
|
||||||
if c.ObjectMeta.Name != context.Name {
|
if c.ObjectMeta.Name != context.Name {
|
||||||
framework.Failf("cluster name does not match input context: actual=%+v, expected=%+v", c, context)
|
framework.Failf("cluster name does not match input context: actual=%+v, expected=%+v", c, context)
|
||||||
}
|
}
|
||||||
err = isReady(context.Name, f.FederationClientset)
|
err = isReady(context.Name, f.FederationClientset_1_4)
|
||||||
framework.ExpectNoError(err, fmt.Sprintf("unexpected error in verifying if cluster %s is ready: %+v", context.Name, err))
|
framework.ExpectNoError(err, fmt.Sprintf("unexpected error in verifying if cluster %s is ready: %+v", context.Name, err))
|
||||||
framework.Logf("Cluster %s is Ready", context.Name)
|
framework.Logf("Cluster %s is Ready", context.Name)
|
||||||
}
|
}
|
||||||
|
@ -29,9 +29,6 @@ import (
|
|||||||
release_1_4 "k8s.io/client-go/1.4/kubernetes"
|
release_1_4 "k8s.io/client-go/1.4/kubernetes"
|
||||||
"k8s.io/client-go/1.4/pkg/util/sets"
|
"k8s.io/client-go/1.4/pkg/util/sets"
|
||||||
clientreporestclient "k8s.io/client-go/1.4/rest"
|
clientreporestclient "k8s.io/client-go/1.4/rest"
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
|
||||||
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_3"
|
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4"
|
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
||||||
@ -64,12 +61,7 @@ type Framework struct {
|
|||||||
Clientset_1_3 *release_1_3.Clientset
|
Clientset_1_3 *release_1_3.Clientset
|
||||||
StagingClient *release_1_4.Clientset
|
StagingClient *release_1_4.Clientset
|
||||||
|
|
||||||
// TODO(mml): Remove this. We should generally use the versioned clientset.
|
|
||||||
FederationClientset *federation_internalclientset.Clientset
|
|
||||||
FederationClientset_1_3 *federation_release_1_3.Clientset
|
|
||||||
FederationClientset_1_4 *federation_release_1_4.Clientset
|
FederationClientset_1_4 *federation_release_1_4.Clientset
|
||||||
// TODO: remove FederationClient, all the client access must be through FederationClientset
|
|
||||||
FederationClient *unversionedfederation.FederationClient
|
|
||||||
|
|
||||||
Namespace *api.Namespace // Every test has at least one namespace
|
Namespace *api.Namespace // Every test has at least one namespace
|
||||||
namespacesToDelete []*api.Namespace // Some tests have more than one.
|
namespacesToDelete []*api.Namespace // Some tests have more than one.
|
||||||
@ -195,22 +187,10 @@ func (f *Framework) BeforeEach() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if f.federated {
|
if f.federated {
|
||||||
if f.FederationClient == nil {
|
if f.FederationClientset_1_4 == nil {
|
||||||
By("Creating a federated kubernetes client")
|
By("Creating a release 1.4 federation Clientset")
|
||||||
var err error
|
var err error
|
||||||
f.FederationClient, err = LoadFederationClient()
|
f.FederationClientset_1_4, err = LoadFederationClientset_1_4()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
}
|
|
||||||
if f.FederationClientset == nil {
|
|
||||||
By("Creating an unversioned federation Clientset")
|
|
||||||
var err error
|
|
||||||
f.FederationClientset, err = LoadFederationClientset()
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
}
|
|
||||||
if f.FederationClientset_1_3 == nil {
|
|
||||||
By("Creating a release 1.3 federation Clientset")
|
|
||||||
var err error
|
|
||||||
f.FederationClientset_1_3, err = LoadFederationClientset_1_3()
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
if f.FederationClientset_1_4 == nil {
|
if f.FederationClientset_1_4 == nil {
|
||||||
@ -220,7 +200,7 @@ func (f *Framework) BeforeEach() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
By("Waiting for federation-apiserver to be ready")
|
By("Waiting for federation-apiserver to be ready")
|
||||||
err := WaitForFederationApiserverReady(f.FederationClientset)
|
err := WaitForFederationApiserverReady(f.FederationClientset_1_4)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
By("federation-apiserver is ready")
|
By("federation-apiserver is ready")
|
||||||
}
|
}
|
||||||
@ -300,15 +280,11 @@ func (f *Framework) AfterEach() {
|
|||||||
|
|
||||||
if f.federated {
|
if f.federated {
|
||||||
defer func() {
|
defer func() {
|
||||||
if f.FederationClient == nil {
|
if f.FederationClientset_1_4 == nil {
|
||||||
Logf("Warning: framework is marked federated, but has no federation client")
|
Logf("Warning: framework is marked federated, but has no federation 1.4 clientset")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if f.FederationClientset == nil {
|
if err := f.FederationClientset_1_4.Federation().Clusters().DeleteCollection(nil, api.ListOptions{}); err != nil {
|
||||||
Logf("Warning: framework is marked federated, but has no federation clientset")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if err := f.FederationClient.Clusters().DeleteCollection(nil, api.ListOptions{}); err != nil {
|
|
||||||
Logf("Error: failed to delete Clusters: %+v", err)
|
Logf("Error: failed to delete Clusters: %+v", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -38,9 +38,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
|
||||||
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_3"
|
|
||||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4"
|
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
||||||
@ -875,7 +872,7 @@ func WaitForDefaultServiceAccountInNamespace(c *client.Client, namespace string)
|
|||||||
|
|
||||||
// WaitForFederationApiserverReady waits for the federation apiserver to be ready.
|
// WaitForFederationApiserverReady waits for the federation apiserver to be ready.
|
||||||
// It tests the readiness by sending a GET request and expecting a non error response.
|
// It tests the readiness by sending a GET request and expecting a non error response.
|
||||||
func WaitForFederationApiserverReady(c *federation_internalclientset.Clientset) error {
|
func WaitForFederationApiserverReady(c *federation_release_1_4.Clientset) error {
|
||||||
return wait.PollImmediate(time.Second, 1*time.Minute, func() (bool, error) {
|
return wait.PollImmediate(time.Second, 1*time.Minute, func() (bool, error) {
|
||||||
_, err := c.Federation().Clusters().List(api.ListOptions{})
|
_, err := c.Federation().Clusters().List(api.ListOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1757,36 +1754,6 @@ func setTimeouts(cs ...*http.Client) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoadFederationClientset() (*federation_internalclientset.Clientset, error) {
|
|
||||||
config, err := LoadFederatedConfig()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
c, err := federation_internalclientset.NewForConfig(config)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("error creating federation clientset: %v", err.Error())
|
|
||||||
}
|
|
||||||
// Set timeout for each client in the set.
|
|
||||||
setTimeouts(c.DiscoveryClient.Client, c.FederationClient.Client, c.CoreClient.Client)
|
|
||||||
return c, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func LoadFederationClientset_1_3() (*federation_release_1_3.Clientset, error) {
|
|
||||||
config, err := LoadFederatedConfig()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
c, err := federation_release_1_3.NewForConfig(config)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("error creating federation clientset: %v", err.Error())
|
|
||||||
}
|
|
||||||
// Set timeout for each client in the set.
|
|
||||||
setTimeouts(c.DiscoveryClient.Client, c.FederationClient.Client, c.CoreClient.Client)
|
|
||||||
return c, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func LoadFederationClientset_1_4() (*federation_release_1_4.Clientset, error) {
|
func LoadFederationClientset_1_4() (*federation_release_1_4.Clientset, error) {
|
||||||
config, err := LoadFederatedConfig()
|
config, err := LoadFederatedConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1802,25 +1769,6 @@ func LoadFederationClientset_1_4() (*federation_release_1_4.Clientset, error) {
|
|||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadFederationClientFromConfig(config *restclient.Config) (*unversionedfederation.FederationClient, error) {
|
|
||||||
c, err := unversionedfederation.NewForConfig(config)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("error creating client: %v", err.Error())
|
|
||||||
}
|
|
||||||
if c.Client.Timeout == 0 {
|
|
||||||
c.Client.Timeout = SingleCallTimeout
|
|
||||||
}
|
|
||||||
return c, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func LoadFederationClient() (*unversionedfederation.FederationClient, error) {
|
|
||||||
config, err := LoadFederatedConfig()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return loadFederationClientFromConfig(config)
|
|
||||||
}
|
|
||||||
|
|
||||||
func LoadClient() (*client.Client, error) {
|
func LoadClient() (*client.Client, error) {
|
||||||
config, err := LoadConfig()
|
config, err := LoadConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user