e2e: Fix the occasional failure of mcs e2e

Signed-off-by: jwcesign <jwcesign@gmail.com>
This commit is contained in:
jwcesign 2023-12-04 11:23:48 +08:00
parent 5b391e7535
commit 0beb460387
1 changed files with 192 additions and 182 deletions

View File

@ -74,17 +74,6 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
var pathNSDeploymentsFmt = pathPrefix + "apis/apps/v1/namespaces/%s/deployments"
// var pathWithLabel = pathPrefix + "apis/apps/v1/namespaces/kube-system/deployments?labelSelector=k8s-app=kube-dns"
// var pollTimeout = 30 * time.Second
var searchObject = func(path, target string, exists bool) {
gomega.Eventually(func(g gomega.Gomega) (bool, error) {
res := karmadaClient.SearchV1alpha1().RESTClient().Get().AbsPath(path).Do(context.TODO())
g.Expect(res.Error()).ShouldNot(gomega.HaveOccurred())
raw, err := res.Raw()
g.Expect(err).ShouldNot(gomega.HaveOccurred())
return strings.Contains(string(raw), target), nil
}, pollTimeout, pollInterval).Should(gomega.Equal(exists))
}
ginkgo.BeforeAll(func() {
// get clusters' name
pushModeClusters := framework.ClusterNamesWithSyncMode(clusterv1alpha1.Push)
@ -733,9 +722,21 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
})
})
})
})
// test when cluster joined, updated, karmada will reconcile search cache
ginkgo.Describe("reconcile ResourceRegistry when clusters joined, updated", ginkgo.Ordered, func() {
var _ = framework.SerialDescribe("reconcile ResourceRegistry when clusters joined, updated", func() {
var member1 = "member1"
var member2 = "member2"
var member1PodName = "etcd-member1-control-plane"
var member2PodName = "etcd-member2-control-plane"
var existsDeploymentName = "coredns"
var pathPrefix = "/apis/search.karmada.io/v1alpha1/search/cache/"
var pathAllPods = pathPrefix + "api/v1/pods"
var pathAllDeployments = pathPrefix + "apis/apps/v1/deployments"
ginkgo.Context("when cluster joined", func() {
var (
clusterName string
@ -750,7 +751,7 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
resourceSelector searchv1alpha1.ResourceSelector
)
ginkgo.BeforeAll(func() {
ginkgo.BeforeEach(func() {
clusterName = "member-e2e-" + rand.String(RandomStrLength)
homeDir = os.Getenv("HOME")
kubeConfigPath = fmt.Sprintf("%s/.kube/%s.config", homeDir, clusterName)
@ -791,7 +792,7 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
})
})
ginkgo.AfterAll(func() {
ginkgo.AfterEach(func() {
framework.RemoveResourceRegistry(karmadaClient, rrName)
ginkgo.By(fmt.Sprintf("Deleting clusters: %s", clusterName), func() {
@ -844,7 +845,7 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
resourceSelector searchv1alpha1.ResourceSelector
)
ginkgo.BeforeAll(func() {
ginkgo.BeforeEach(func() {
// create a ResourceRegistry with label selector
rrName = resourceRegistryPrefix + rand.String(RandomStrLength)
labelKey = "karmada-cluster.k8s.some.com/managed"
@ -879,7 +880,7 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
})
})
ginkgo.AfterAll(func() {
ginkgo.AfterEach(func() {
framework.RemoveResourceRegistry(karmadaClient, rrName)
})
@ -922,4 +923,13 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
})
})
})
})
func searchObject(path, target string, exists bool) {
gomega.Eventually(func(g gomega.Gomega) (bool, error) {
res := karmadaClient.SearchV1alpha1().RESTClient().Get().AbsPath(path).Do(context.TODO())
g.Expect(res.Error()).ShouldNot(gomega.HaveOccurred())
raw, err := res.Raw()
g.Expect(err).ShouldNot(gomega.HaveOccurred())
return strings.Contains(string(raw), target), nil
}, pollTimeout, pollInterval).Should(gomega.Equal(exists))
}