Skip to content

Commit 18c1c98

Browse files
committed
wait clustermanager is applied
Signed-off-by: Zhiwei Yin <[email protected]>
1 parent 6cf0f79 commit 18c1c98

8 files changed

+37
-4
lines changed

test/e2e/clusteradm/addon_create_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package clusteradme2e
44
import (
55
"context"
66
"fmt"
7+
"open-cluster-management.io/clusteradm/test/e2e/util"
78
"time"
89

910
"github.com/onsi/ginkgo/v2"
@@ -35,6 +36,8 @@ var _ = ginkgo.Describe("test clusteradm with addon create", func() {
3536
)
3637
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "clusteradm init error")
3738

39+
util.WaitClusterManagerApplied(operatorClient)
40+
3841
ginkgo.By("managedcluster1 join hub")
3942
err = e2e.Clusteradm().Join(
4043
"--context", e2e.Cluster().ManagedCluster1().Context(),

test/e2e/clusteradm/init_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ var _ = ginkgo.Describe("test clusteradm with bootstrap token in singleton mode"
3333
cm, err := operatorClient.OperatorV1().ClusterManagers().Get(context.TODO(), "cluster-manager", metav1.GetOptions{})
3434
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3535

36+
util.WaitClusterManagerApplied(operatorClient)
37+
3638
// 2 featureGates: DefaultClusterSet and ResourceCleanup
3739
gomega.Expect(len(cm.Spec.RegistrationConfiguration.FeatureGates)).Should(gomega.Equal(2))
3840

test/e2e/clusteradm/joinhubscenario_annotate_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ var _ = ginkgo.Describe("test clusteradm join with annotations", func() {
3030
)
3131
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "clusteradm init error")
3232

33+
util.WaitClusterManagerApplied(operatorClient)
34+
3335
ginkgo.By("managedcluster1 join hub with annotations")
3436
err = e2e.Clusteradm().Join(
3537
"--context", e2e.Cluster().ManagedCluster1().Context(),

test/e2e/clusteradm/joinhubscenario_bootstraptoken_singleton_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ var _ = ginkgo.Describe("test clusteradm with bootstrap token in singleton mode"
2828
)
2929
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "clusteradm init error")
3030

31+
util.WaitClusterManagerApplied(operatorClient)
32+
3133
ginkgo.By("managedcluster1 join hub")
3234
err = e2e.Clusteradm().Join(
3335
"--context", e2e.Cluster().ManagedCluster1().Context(),

test/e2e/clusteradm/joinhubscenario_bootstrsptoken_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package clusteradme2e
44
import (
55
"github.com/onsi/ginkgo/v2"
66
"github.com/onsi/gomega"
7+
"open-cluster-management.io/clusteradm/test/e2e/util"
78
)
89

910
var _ = ginkgo.Describe("test clusteradm with bootstrap token", func() {
@@ -26,6 +27,8 @@ var _ = ginkgo.Describe("test clusteradm with bootstrap token", func() {
2627
)
2728
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "clusteradm init error")
2829

30+
util.WaitClusterManagerApplied(operatorClient)
31+
2932
ginkgo.By("managedcluster1 join hub")
3033
err = e2e.Clusteradm().Join(
3134
"--context", e2e.Cluster().ManagedCluster1().Context(),

test/e2e/clusteradm/joinhubscenario_sa_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package clusteradme2e
44
import (
55
"github.com/onsi/ginkgo/v2"
66
"github.com/onsi/gomega"
7+
"open-cluster-management.io/clusteradm/test/e2e/util"
78
)
89

910
var _ = ginkgo.Describe("test clusteradm with service account", func() {
@@ -25,6 +26,8 @@ var _ = ginkgo.Describe("test clusteradm with service account", func() {
2526
)
2627
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "clusteradm init error")
2728

29+
util.WaitClusterManagerApplied(operatorClient)
30+
2831
ginkgo.By("managedcluster1 join hub")
2932
err = e2e.Clusteradm().Join(
3033
"--context", e2e.Cluster().ManagedCluster1().Context(),

test/e2e/clusteradm/joinhubscenario_timeout_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package clusteradme2e
44
import (
55
"github.com/onsi/ginkgo/v2"
66
"github.com/onsi/gomega"
7+
"open-cluster-management.io/clusteradm/test/e2e/util"
78
)
89

910
var _ = ginkgo.Describe("test clusteradm with timeout", func() {
@@ -25,6 +26,8 @@ var _ = ginkgo.Describe("test clusteradm with timeout", func() {
2526
)
2627
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "clusteradm init error")
2728

29+
util.WaitClusterManagerApplied(operatorClient)
30+
2831
ginkgo.By("managedcluster1 join hub")
2932
err = e2e.Clusteradm().Join(
3033
"--context", e2e.Cluster().ManagedCluster1().Context(),

test/e2e/util/helper.go

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,19 @@ import (
88
"os"
99
"time"
1010

11-
"k8s.io/apimachinery/pkg/api/meta"
12-
clusterapiv1 "open-cluster-management.io/api/cluster/v1"
13-
"open-cluster-management.io/clusteradm/pkg/config"
14-
11+
"github.com/onsi/gomega"
1512
"k8s.io/apimachinery/pkg/api/errors"
13+
"k8s.io/apimachinery/pkg/api/meta"
1614
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1715
"k8s.io/apimachinery/pkg/util/wait"
1816
"k8s.io/client-go/kubernetes"
1917
"k8s.io/client-go/rest"
2018
"k8s.io/client-go/tools/clientcmd"
2119
clusterclient "open-cluster-management.io/api/client/cluster/clientset/versioned"
20+
operatorclient "open-cluster-management.io/api/client/operator/clientset/versioned"
21+
clusterapiv1 "open-cluster-management.io/api/cluster/v1"
22+
operatorv1 "open-cluster-management.io/api/operator/v1"
23+
"open-cluster-management.io/clusteradm/pkg/config"
2224
)
2325

2426
// WaitNamespaceDeleted receive a kubeconfigpath, a context name and a namespace name,
@@ -153,3 +155,16 @@ func NewTestImagePullCredentialFile(fileName string) string {
153155
func CleanupTestImagePullCredentialFile(fileName string) {
154156
_ = os.Remove(fileName)
155157
}
158+
159+
func WaitClusterManagerApplied(operatorClient operatorclient.Interface) {
160+
gomega.Eventually(func() error {
161+
cm, err := operatorClient.OperatorV1().ClusterManagers().Get(context.TODO(), "cluster-manager", metav1.GetOptions{})
162+
if err != nil {
163+
return err
164+
}
165+
if meta.IsStatusConditionTrue(cm.Status.Conditions, operatorv1.ConditionClusterManagerApplied) {
166+
return nil
167+
}
168+
return fmt.Errorf("wait the cluster manager applied condition to be true")
169+
}, time.Second*60, time.Second*2).Should(gomega.Succeed())
170+
}

0 commit comments

Comments
 (0)