Commit fc4f1c43 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #48619 from marun/fed-remove-redundant-e2e-2

Automatic merge from submit-queue (batch tested with PRs 48425, 41680, 48457, 48619, 48635) [Federation] Remove redundant e2e Now that federation of replicasets and deployments is implemented with the sync controller, the previous crud e2e duplicates coverage provided by the crudtester integration and e2e testing. cc: @kubernetes/sig-federation-pr-reviews
parents 494ffa46 df5e8fc9
...@@ -13,7 +13,6 @@ go_library( ...@@ -13,7 +13,6 @@ go_library(
"apiserver.go", "apiserver.go",
"authn.go", "authn.go",
"crud.go", "crud.go",
"deployment.go",
"event.go", "event.go",
"ingress.go", "ingress.go",
"namespace.go", "namespace.go",
......
...@@ -20,7 +20,6 @@ import ( ...@@ -20,7 +20,6 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"reflect" "reflect"
"strings"
"time" "time"
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
...@@ -83,62 +82,6 @@ var _ = framework.KubeDescribe("Federated ReplicaSet [Feature:Federation]", func ...@@ -83,62 +82,6 @@ var _ = framework.KubeDescribe("Federated ReplicaSet [Feature:Federation]", func
}) })
// e2e cases for federated replicaset controller // e2e cases for federated replicaset controller
Describe("CRUD", func() {
var (
rs *v1beta1.ReplicaSet
)
BeforeEach(func() {
nsName := f.FederationNamespace.Name
By(fmt.Sprintf("Creating a new replicaset in namespace %q", nsName))
rs = createAndWaitForReplicasetOrFail(f.FederationClientset, nsName, clusters)
})
AfterEach(func() {
// Delete all replicasets.
nsName := f.FederationNamespace.Name
By(fmt.Sprintf("Deleting replicaset \"%s/%s\"", nsName, rs.Name))
orphanDependents := false
deleteReplicaSetOrFail(f.FederationClientset, nsName, rs.Name, &orphanDependents)
})
It("should create and update matching replicasets in underlying clusters", func() {
nsName := f.FederationNamespace.Name
// As part of the update, we scale the replicaset here.
rs = newReplicaSetWithName(nsName, rs.Name, 15, nil)
updateReplicaSetOrFail(f.FederationClientset, rs)
waitForReplicaSetOrFail(f.FederationClientset, nsName, rs.Name, clusters, nil)
By(fmt.Sprintf("Successfully updated and synced replicaset \"%s/%s\" (%v/%v) to clusters", nsName, rs.Name, rs.Status.Replicas, *rs.Spec.Replicas))
})
It("should be deleted from underlying clusters when OrphanDependents is false", func() {
fedframework.SkipUnlessFederated(f.ClientSet)
nsName := f.FederationNamespace.Name
orphanDependents := false
verifyCascadingDeletionForReplicaSet(f.FederationClientset, clusters, &orphanDependents, nsName, rs.Name)
By(fmt.Sprintf("Verified that replicasets were deleted from underlying clusters"))
})
It("should not be deleted from underlying clusters when OrphanDependents is true", func() {
fedframework.SkipUnlessFederated(f.ClientSet)
nsName := f.FederationNamespace.Name
orphanDependents := true
verifyCascadingDeletionForReplicaSet(f.FederationClientset, clusters, &orphanDependents, nsName, rs.Name)
By(fmt.Sprintf("Verified that replicasets were not deleted from underlying clusters"))
})
It("should not be deleted from underlying clusters when OrphanDependents is nil", func() {
fedframework.SkipUnlessFederated(f.ClientSet)
nsName := f.FederationNamespace.Name
verifyCascadingDeletionForReplicaSet(f.FederationClientset, clusters, nil, nsName, rs.Name)
By(fmt.Sprintf("Verified that replicasets were not deleted from underlying clusters"))
})
})
// e2e cases for federated replicaset controller
Describe("Preferences", func() { Describe("Preferences", func() {
var ( var (
rs *v1beta1.ReplicaSet rs *v1beta1.ReplicaSet
...@@ -251,29 +194,6 @@ func deleteAllReplicaSetsOrFail(clientset *fedclientset.Clientset, nsName string ...@@ -251,29 +194,6 @@ func deleteAllReplicaSetsOrFail(clientset *fedclientset.Clientset, nsName string
} }
} }
// verifyCascadingDeletionForReplicaSet verifies that replicaSets are deleted
// from underlying clusters when orphan dependents is false and they are not
// deleted when orphan dependents is true.
func verifyCascadingDeletionForReplicaSet(clientset *fedclientset.Clientset, clusters fedframework.ClusterSlice, orphanDependents *bool, nsName, rsName string) {
By(fmt.Sprintf("Deleting replica set %s", rsName))
deleteReplicaSetOrFail(clientset, nsName, rsName, orphanDependents)
By(fmt.Sprintf("Verifying replica sets %s in underlying clusters", rsName))
errMessages := []string{}
for _, cluster := range clusters {
clusterName := cluster.Name
_, err := cluster.Extensions().ReplicaSets(nsName).Get(rsName, metav1.GetOptions{})
if (orphanDependents == nil || *orphanDependents == true) && errors.IsNotFound(err) {
errMessages = append(errMessages, fmt.Sprintf("unexpected NotFound error for replica set %s in cluster %s, expected replica set to exist", rsName, clusterName))
} else if (orphanDependents != nil && *orphanDependents == false) && (err == nil || !errors.IsNotFound(err)) {
errMessages = append(errMessages, fmt.Sprintf("expected NotFound error for replica set %s in cluster %s, got error: %v", rsName, clusterName, err))
}
}
if len(errMessages) != 0 {
framework.Failf("%s", strings.Join(errMessages, "; "))
}
}
func generateFedRSPrefsWithWeight(clusters fedframework.ClusterSlice) (pref *federation.ReplicaAllocationPreferences, replicas int32, expect map[string]int32) { func generateFedRSPrefsWithWeight(clusters fedframework.ClusterSlice) (pref *federation.ReplicaAllocationPreferences, replicas int32, expect map[string]int32) {
By("Generating replicaset preferences with weights") By("Generating replicaset preferences with weights")
clusterNames := extractClusterNames(clusters) clusterNames := extractClusterNames(clusters)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment