Skip to content

Commit 4d2b434

Browse files
committed
test: Temporary WA
Signed-off-by: Penghao <[email protected]>
1 parent bb6da39 commit 4d2b434

File tree

1 file changed

+95
-22
lines changed

1 file changed

+95
-22
lines changed

test/extended/storage/mutable_csinode_allocatable.go

Lines changed: 95 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"github.com/aws/aws-sdk-go/aws/awserr"
1515
"github.com/aws/aws-sdk-go/service/ec2"
1616

17-
opv1 "github.com/openshift/api/operator/v1"
1817
exutil "github.com/openshift/origin/test/extended/util"
1918

2019
configv1 "github.com/openshift/api/config/v1"
@@ -38,7 +37,7 @@ const (
3837
resourceExhaustionTimeout = 15 * time.Minute
3938
)
4039

41-
// This is [Serial] because it modifies ClusterCSIDriver and attaches/detaches ENIs to worker nodes.
40+
// This is [Serial] because it scales down operators and attaches/detaches ENIs to worker nodes.
4241
var _ = g.Describe("[sig-storage][OCPFeature:MutableCSINodeAllocatableCount][Serial][Driver: ebs.csi.aws.com]", g.Ordered, func() {
4342
defer g.GinkgoRecover()
4443
var (
@@ -49,6 +48,9 @@ var _ = g.Describe("[sig-storage][OCPFeature:MutableCSINodeAllocatableCount][Ser
4948
targetWorkerNode string
5049
ec2Client *ec2.EC2
5150
originalAllocatableCount int32
51+
originalCVOReplicas *int32
52+
// originalCSOOpReplicas *int32
53+
// originalEBSOperatorReplicas *int32
5254
)
5355

5456
g.BeforeAll(func() {
@@ -75,18 +77,58 @@ var _ = g.Describe("[sig-storage][OCPFeature:MutableCSINodeAllocatableCount][Ser
7577
g.Skip("MutableCSINodeAllocatableCount tests are not supported on MicroShift")
7678
}
7779

78-
g.By("Setting ClusterCSIDriver managementState to Unmanaged")
80+
g.By("Scaling down cluster-version-operator, cluster-storage-operator, and aws-ebs-csi-driver-operator")
81+
82+
// Scale down cluster-version-operator
83+
cvoDeployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-version").Get(ctx, "cluster-version-operator", metav1.GetOptions{})
84+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to get cluster-version-operator deployment")
85+
originalCVOReplicas = cvoDeployment.Spec.Replicas
86+
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
87+
deployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-version").Get(ctx, "cluster-version-operator", metav1.GetOptions{})
88+
if err != nil {
89+
return err
90+
}
91+
zero := int32(0)
92+
deployment.Spec.Replicas = &zero
93+
_, err = oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-version").Update(ctx, deployment, metav1.UpdateOptions{})
94+
return err
95+
})
96+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to scale down cluster-version-operator")
97+
e2e.Logf("Successfully scaled down cluster-version-operator")
98+
99+
// Scale down cluster-storage-operator
100+
// csoDeployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-storage-operator").Get(ctx, "cluster-storage-operator", metav1.GetOptions{})
101+
// o.Expect(err).NotTo(o.HaveOccurred(), "failed to get cluster-storage-operator deployment")
102+
// originalCSOOpReplicas = csoDeployment.Spec.Replicas
103+
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
104+
deployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-storage-operator").Get(ctx, "cluster-storage-operator", metav1.GetOptions{})
105+
if err != nil {
106+
return err
107+
}
108+
zero := int32(0)
109+
deployment.Spec.Replicas = &zero
110+
_, err = oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-storage-operator").Update(ctx, deployment, metav1.UpdateOptions{})
111+
return err
112+
})
113+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to scale down cluster-storage-operator")
114+
e2e.Logf("Successfully scaled down cluster-storage-operator")
115+
116+
// Scale down aws-ebs-csi-driver-operator
117+
// ebsOperatorDeployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-csi-drivers").Get(ctx, "aws-ebs-csi-driver-operator", metav1.GetOptions{})
118+
// o.Expect(err).NotTo(o.HaveOccurred(), "failed to get aws-ebs-csi-driver-operator deployment")
119+
// originalEBSOperatorReplicas = ebsOperatorDeployment.Spec.Replicas
79120
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
80-
clusterCSIDriver, err := oc.AdminOperatorClient().OperatorV1().ClusterCSIDrivers().Get(ctx, ebsCSIDriverName, metav1.GetOptions{})
121+
deployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-csi-drivers").Get(ctx, "aws-ebs-csi-driver-operator", metav1.GetOptions{})
81122
if err != nil {
82123
return err
83124
}
84-
clusterCSIDriver.Spec.ManagementState = opv1.Unmanaged
85-
_, err = oc.AdminOperatorClient().OperatorV1().ClusterCSIDrivers().Update(ctx, clusterCSIDriver, metav1.UpdateOptions{})
125+
zero := int32(0)
126+
deployment.Spec.Replicas = &zero
127+
_, err = oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-csi-drivers").Update(ctx, deployment, metav1.UpdateOptions{})
86128
return err
87129
})
88-
o.Expect(err).NotTo(o.HaveOccurred(), "failed to update ClusterCSIDriver managementState")
89-
e2e.Logf("Successfully set ClusterCSIDriver managementState to Unmanaged")
130+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to scale down aws-ebs-csi-driver-operator")
131+
e2e.Logf("Successfully scaled down aws-ebs-csi-driver-operator")
90132

91133
// Get AWS credentials
92134
exutil.GetAwsCredentialFromCluster(oc)
@@ -97,21 +139,52 @@ var _ = g.Describe("[sig-storage][OCPFeature:MutableCSINodeAllocatableCount][Ser
97139
})
98140

99141
g.AfterAll(func() {
100-
g.By("Recover ClusterCSIDriver managementState to Managed")
101-
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
102-
clusterCSIDriver, err := oc.AdminOperatorClient().OperatorV1().ClusterCSIDrivers().Get(ctx, ebsCSIDriverName, metav1.GetOptions{})
103-
if err != nil {
142+
g.By("Restoring operator replica counts")
143+
144+
// Restore cluster-version-operator, it will automatically restore other operators
145+
if originalCVOReplicas != nil {
146+
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
147+
deployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-version").Get(ctx, "cluster-version-operator", metav1.GetOptions{})
148+
if err != nil {
149+
return err
150+
}
151+
deployment.Spec.Replicas = originalCVOReplicas
152+
_, err = oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-version").Update(ctx, deployment, metav1.UpdateOptions{})
104153
return err
105-
}
106-
if clusterCSIDriver.Spec.ManagementState == opv1.Managed {
107-
return nil
108-
}
109-
clusterCSIDriver.Spec.ManagementState = opv1.Unmanaged
110-
_, err = oc.AdminOperatorClient().OperatorV1().ClusterCSIDrivers().Update(ctx, clusterCSIDriver, metav1.UpdateOptions{})
111-
return err
112-
})
113-
o.Expect(err).NotTo(o.HaveOccurred(), "failed to recover ClusterCSIDriver managementState")
114-
e2e.Logf("Successfully recover ClusterCSIDriver managementState to Managed")
154+
})
155+
o.Expect(err).NotTo(o.HaveOccurred(), "failed to restore cluster-version-operator")
156+
e2e.Logf("Successfully restored cluster-version-operator")
157+
}
158+
159+
// // Restore cluster-storage-operator
160+
// if originalCSOOpReplicas != nil {
161+
// err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
162+
// deployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-storage-operator").Get(ctx, "cluster-storage-operator", metav1.GetOptions{})
163+
// if err != nil {
164+
// return err
165+
// }
166+
// deployment.Spec.Replicas = originalCSOOpReplicas
167+
// _, err = oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-storage-operator").Update(ctx, deployment, metav1.UpdateOptions{})
168+
// return err
169+
// })
170+
// o.Expect(err).NotTo(o.HaveOccurred(), "failed to restore cluster-storage-operator")
171+
// e2e.Logf("Successfully restored cluster-storage-operator")
172+
// }
173+
174+
// // Restore aws-ebs-csi-driver-operator
175+
// if originalEBSOperatorReplicas != nil {
176+
// err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
177+
// deployment, err := oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-csi-drivers").Get(ctx, "aws-ebs-csi-driver-operator", metav1.GetOptions{})
178+
// if err != nil {
179+
// return err
180+
// }
181+
// deployment.Spec.Replicas = originalEBSOperatorReplicas
182+
// _, err = oc.AdminKubeClient().AppsV1().Deployments("openshift-cluster-csi-drivers").Update(ctx, deployment, metav1.UpdateOptions{})
183+
// return err
184+
// })
185+
// o.Expect(err).NotTo(o.HaveOccurred(), "failed to restore aws-ebs-csi-driver-operator")
186+
// e2e.Logf("Successfully restored aws-ebs-csi-driver-operator")
187+
// }
115188
})
116189

117190
g.BeforeEach(func() {

0 commit comments

Comments
 (0)