clusterset v1beta1 migration (#315)

Signed-off-by: ldpliu <daliu@redhat.com>
This commit is contained in:
DangPeng Liu
2023-02-13 12:00:58 +08:00
committed by GitHub
parent 9d7ee1149a
commit f020c8a48d
27 changed files with 184 additions and 186 deletions

View File

@@ -12,6 +12,11 @@ import (
clusterv1beta2 "open-cluster-management.io/api/cluster/v1beta2"
)
const (
clustersetCrdName = "managedclustersets.cluster.open-cluster-management.io"
clustersetBindingCrdName = "managedclustersetbindings.cluster.open-cluster-management.io"
)
var _ = ginkgo.Describe("Create v1beta2 managedclusterset", func() {
ginkgo.It("Create a v1beta2 labelselector based ManagedClusterSet and get/update/delete with v1beta2 client", func() {
ginkgo.By("Create a v1beta2 ManagedClusterSet")
@@ -113,4 +118,34 @@ var _ = ginkgo.Describe("Create v1beta2 managedclusterset", func() {
err := t.ClusterClient.ClusterV1beta1().ManagedClusterSets().Delete(context.Background(), managedClusterSetName, metav1.DeleteOptions{})
gomega.Expect(err).ToNot(gomega.HaveOccurred())
})
ginkgo.It("Check if the v1beta1 storageversion is removed from clusterset crd", func() {
gomega.Eventually(func() error {
clustersetCrd, err := t.HubAPIExtensionClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.Background(), clustersetCrdName, metav1.GetOptions{})
if err != nil {
return err
}
if len(clustersetCrd.Status.StoredVersions) != 1 {
return fmt.Errorf("clustersetCrd.Status.StoredVersions should be v1beta2, but got:%v", clustersetCrd.Status.StoredVersions)
}
if clustersetCrd.Status.StoredVersions[0] != "v1beta2" {
return fmt.Errorf("clustersetCrd.Status.StoredVersions should be v1beta2, but got:%v", clustersetCrd.Status.StoredVersions)
}
return nil
}, t.EventuallyTimeout*5, t.EventuallyInterval*5).Should(gomega.Succeed())
})
ginkgo.It("Check if the v1beta1 storageversion is removed from clustersetbinding crd", func() {
gomega.Eventually(func() error {
clustersetBindingCrd, err := t.HubAPIExtensionClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.Background(), clustersetBindingCrdName, metav1.GetOptions{})
if err != nil {
return err
}
if len(clustersetBindingCrd.Status.StoredVersions) != 1 {
return fmt.Errorf("clustersetBindingCrd.Status.StoredVersions should be v1beta2, but got:%v", clustersetBindingCrd.Status.StoredVersions)
}
if clustersetBindingCrd.Status.StoredVersions[0] != "v1beta2" {
return fmt.Errorf("clustersetBindingCrd.Status.StoredVersions should be v1beta2, but got:%v", clustersetBindingCrd.Status.StoredVersions)
}
return nil
}, t.EventuallyTimeout*5, t.EventuallyInterval*5).Should(gomega.Succeed())
})
})

View File

@@ -12,6 +12,7 @@ import (
"k8s.io/klog/v2"
"github.com/onsi/gomega"
apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
certificatesv1 "k8s.io/api/certificates/v1"
coordv1 "k8s.io/api/coordination/v1"
@@ -38,6 +39,7 @@ import (
type Tester struct {
kubeconfigPath string
KubeClient kubernetes.Interface
HubAPIExtensionClient apiextensionsclient.Interface
ClusterCfg *rest.Config
OperatorClient operatorclient.Interface
ClusterClient clusterclient.Interface
@@ -95,6 +97,11 @@ func (t *Tester) Init() error {
klog.Errorf("failed to get KubeClient. %v", err)
return err
}
if t.HubAPIExtensionClient, err = apiextensionsclient.NewForConfig(t.ClusterCfg); err != nil {
klog.Errorf("failed to get HubApiExtensionClient. %v", err)
return err
}
if t.OperatorClient, err = operatorclient.NewForConfig(t.ClusterCfg); err != nil {
klog.Errorf("failed to get OperatorClient. %v", err)
return err