Skip to content

Commit 8e88e79

Browse files
authored
Rename v1beta2 condition constants (kubernetes-sigs#2649)
1 parent 95f62b1 commit 8e88e79

File tree

8 files changed

+210
-81
lines changed

8 files changed

+210
-81
lines changed

.golangci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,11 @@ linters:
219219
- linters:
220220
- staticcheck
221221
text: 'SA1019: .*\.Deprecated\.V1Beta2.* is deprecated'
222+
# Specific exclude rules for deprecated packages that are still part of the codebase. These
223+
# should be removed as the referenced deprecated packages are removed from the project.
224+
- linters:
225+
- staticcheck
226+
text: 'SA1019: .* is deprecated: This package is deprecated and is going to be removed when support for v1beta2 will be dropped.'
222227
paths:
223228
- zz_generated.*\.go$
224229
- third_party$

api/powervs/v1beta2/doc.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@ limitations under the License.
1818
// +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-ibmcloud/api/powervs/v1beta3
1919
// +kubebuilder:object:generate=true
2020
// +groupName=infrastructure.cluster.x-k8s.io
21+
//
22+
// Deprecated: This package is deprecated and is going to be removed when support for v1beta2 will be dropped.
2123
package v1beta2

api/powervs/v1beta3/conditions_consts.go

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -110,27 +110,9 @@ const (
110110
// IBMPowerVSImageReadyUnknownReason surfaces when at least one of the IBMPowerVSImage readiness criteria is unknown
111111
// and none of the IBMPowerVSImage readiness criteria is met.
112112
IBMPowerVSImageReadyUnknownReason = clusterv1.ReadyUnknownReason
113-
)
114-
115-
// Power VS Image related conditions and corresponding reasons.
116-
const (
117-
// ImageReadyCondition reports on current status of the image. Ready indicates the image is in a active state.
118-
ImageReadyCondition clusterv1.ConditionType = "ImageReady"
119-
120-
// ImageImportedCondition reports on current status of the image import job. Ready indicates the import job is finished.
121-
ImageImportedCondition clusterv1.ConditionType = "ImageImported"
122-
123-
// ImageDeletingReason surfaces when the image is in deleting state.
124-
ImageDeletingReason = clusterv1.DeletingReason
125113

126-
// ImageNotReadyReason used when the image is not ready.
127-
ImageNotReadyReason = "ImageNotReady"
128-
129-
// ImageImportFailedReason used when the image import is failed.
130-
ImageImportFailedReason = "ImageImportFailed"
131-
132-
// ImageQueuedReason used when the image is in queued state.
133-
ImageQueuedReason = "ImageQueued"
114+
// IBMPowerVSImageImportFailedReason used when the image import is failed.
115+
IBMPowerVSImageImportFailedReason = "ImageImportFailed"
134116
)
135117

136118
const (
@@ -187,9 +169,15 @@ const (
187169
// IBMPowerVSClusterNotReadyReason surfaces when the IBMPowerVSCluster readiness criteria is not met.
188170
IBMPowerVSClusterNotReadyReason = clusterv1.NotReadyReason
189171

172+
// IBMPowerVSImageDeletingReason surfaces when the image is in deleting state.
173+
IBMPowerVSImageDeletingReason = clusterv1.DeletingReason
174+
190175
// IBMPowerVSClusterReadyUnknownReason surfaces when at least one of the IBMPowerVSCluster readiness criteria is unknown
191176
// and none of the IBMPowerVSCluster readiness criteria is met.
192177
IBMPowerVSClusterReadyUnknownReason = clusterv1.ReadyUnknownReason
178+
179+
// IBMPowerVSImageQueuedReason used when the image is in queued state.
180+
IBMPowerVSImageQueuedReason = "ImageQueued"
193181
)
194182

195183
const (
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
/*
2+
Copyright 2026 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1beta3
18+
19+
// Conditions and condition Reasons for the CAPIBM v1beta2 object like IBMPowerVSCluster, IBMPowerVSMachine, IBMPowerVSImage.
20+
21+
import clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
22+
23+
const (
24+
// ServiceInstanceReadyV1Beta2Condition reports on the successful reconciliation of a Power VS workspace.
25+
ServiceInstanceReadyV1Beta2Condition clusterv1.ConditionType = "ServiceInstanceReady"
26+
// ServiceInstanceReconciliationFailedV1Beta2Reason used when an error occurs during workspace reconciliation.
27+
ServiceInstanceReconciliationFailedV1Beta2Reason = "ServiceInstanceReconciliationFailed"
28+
29+
// NetworkReadyV1Beta2Condition reports on the successful reconciliation of a Power VS network.
30+
NetworkReadyV1Beta2Condition clusterv1.ConditionType = "NetworkReady"
31+
// NetworkReconciliationFailedV1Beta2Reason used when an error occurs during network reconciliation.
32+
NetworkReconciliationFailedV1Beta2Reason = "NetworkReconciliationFailed"
33+
34+
// VPCSecurityGroupReadyV1Beta2Condition reports on the successful reconciliation of a VPC.
35+
VPCSecurityGroupReadyV1Beta2Condition clusterv1.ConditionType = "VPCSecurityGroupReady"
36+
// VPCSecurityGroupReconciliationFailedV1Beta2Reason used when an error occurs during VPC reconciliation.
37+
VPCSecurityGroupReconciliationFailedV1Beta2Reason = "VPCSecurityGroupReconciliationFailed"
38+
39+
// VPCReadyV1Beta2Condition reports on the successful reconciliation of a VPC.
40+
VPCReadyV1Beta2Condition clusterv1.ConditionType = "VPCReady"
41+
// VPCReconciliationFailedV1Beta2Reason used when an error occurs during VPC reconciliation.
42+
VPCReconciliationFailedV1Beta2Reason = "VPCReconciliationFailed"
43+
44+
// VPCSubnetReadyV1Beta2Condition reports on the successful reconciliation of a VPC subnet.
45+
VPCSubnetReadyV1Beta2Condition clusterv1.ConditionType = "VPCSubnetReady"
46+
// VPCSubnetReconciliationFailedV1Beta2Reason used when an error occurs during VPC subnet reconciliation.
47+
VPCSubnetReconciliationFailedV1Beta2Reason = "VPCSubnetReconciliationFailed"
48+
49+
// TransitGatewayReadyV1Beta2Condition reports on the successful reconciliation of a Power VS transit gateway.
50+
TransitGatewayReadyV1Beta2Condition clusterv1.ConditionType = "TransitGatewayReady"
51+
// TransitGatewayReconciliationFailedV1Beta2Reason used when an error occurs during transit gateway reconciliation.
52+
TransitGatewayReconciliationFailedV1Beta2Reason = "TransitGatewayReconciliationFailed"
53+
54+
// LoadBalancerReadyV1Beta2Condition reports on the successful reconciliation of a Power VS network.
55+
LoadBalancerReadyV1Beta2Condition clusterv1.ConditionType = "LoadBalancerReady"
56+
// LoadBalancerReconciliationFailedV1Beta2Reason used when an error occurs during loadbalancer reconciliation.
57+
LoadBalancerReconciliationFailedV1Beta2Reason = "LoadBalancerReconciliationFailed"
58+
59+
// COSInstanceReadyV1Beta2Condition reports on the successful reconciliation of a COS instance.
60+
COSInstanceReadyV1Beta2Condition clusterv1.ConditionType = "COSInstanceCreated"
61+
// COSInstanceReconciliationFailedV1Beta2Reason used when an error occurs during COS instance reconciliation.
62+
COSInstanceReconciliationFailedV1Beta2Reason = "COSInstanceCreationFailed"
63+
)
64+
65+
// Power VS instance related conditions and corresponding reasons (virtual machines).
66+
const (
67+
// InstanceReadyV1Beta2Condition documents the status of the instance that is controlled
68+
// by the IBMPowerVSMachine.
69+
InstanceReadyV1Beta2Condition clusterv1.ConditionType = "InstanceReady"
70+
71+
// InstanceNotReadyV1Beta2Reason surfaces when the instance that is controlled
72+
// by the IBMPowerVSMachine is not ready.
73+
InstanceNotReadyV1Beta2Reason = "InstanceNotReady"
74+
75+
// InstanceProvisionFailedV1Beta2Reason used for failures during instance provisioning.
76+
InstanceProvisionFailedV1Beta2Reason = "InstanceProvisionFailed"
77+
78+
// InstanceStoppedV1Beta2Reason instance is in a stopped state.
79+
InstanceStoppedV1Beta2Reason = "InstanceStopped"
80+
81+
// InstanceErroredV1Beta2Reason instance is in a errored state.
82+
InstanceErroredV1Beta2Reason = "InstanceErrored"
83+
84+
// InstanceStateUnknownV1Beta2Reason used when the instance is in a unknown state.
85+
InstanceStateUnknownV1Beta2Reason = "InstanceStateUnknown"
86+
87+
// InstanceWaitingForClusterInfrastructureReadyV1Beta2Reason documents the instance that is controller by
88+
// IBMPowerVSMachine waiting for the cluster infrastructure to be ready.
89+
InstanceWaitingForClusterInfrastructureReadyV1Beta2Reason = clusterv1.WaitingForClusterInfrastructureReadyReason
90+
91+
// InstanceWaitingForControlPlaneInitializedV1Beta2Reason documents the instance that is controller by IBMPowerVSMachine waiting
92+
// for the control plane to be initialized.
93+
InstanceWaitingForControlPlaneInitializedV1Beta2Reason = clusterv1.WaitingForControlPlaneInitializedReason
94+
95+
// InstanceWaitingForBootstrapDataV1Beta2Reason documents the instance that is controller by IBMPowerVSMachine waiting for the bootstrap
96+
// data to be ready.
97+
InstanceWaitingForBootstrapDataV1Beta2Reason = clusterv1.WaitingForBootstrapDataReason
98+
99+
// InstanceLoadBalancerConfigurationFailedV1Beta2Reason surfaces when configuring the instance IP to load balancer fails.
100+
InstanceLoadBalancerConfigurationFailedV1Beta2Reason = "LoadBalancerConfigurationFailed"
101+
102+
// InstanceWaitingForNetworkAddressV1Beta2Reason surfaces when the instance that is controlled
103+
// by the IBMPowerVSMachine waiting for the machine network settings to be reported after machine being powered on.
104+
InstanceWaitingForNetworkAddressV1Beta2Reason = "WaitingForNetworkAddress"
105+
106+
// InstanceWaitingForImageV1Beta2Reason surfaces when the instance that is controlled
107+
// by the IBMPowerVSMachine waiting for the Power VS image to be available in workspace.
108+
InstanceWaitingForImageV1Beta2Reason = "WaitingForIBMImage"
109+
)
110+
111+
// PowerVS Image related conditions and corresponding reasons.
112+
const (
113+
// ImageReadyV1Beta2Condition reports on current status of the image. Ready indicates the image is in a active state.
114+
ImageReadyV1Beta2Condition clusterv1.ConditionType = "ImageReady"
115+
116+
// ImageImportedV1Beta2Condition reports on current status of the image import job. Ready indicates the import job is finished.
117+
ImageImportedV1Beta2Condition clusterv1.ConditionType = "ImageImported"
118+
119+
// ImageNotReadyV1Beta2Reason used when the image is not ready.
120+
ImageNotReadyV1Beta2Reason = "ImageNotReady"
121+
122+
// ImageImportFailedV1Beta2Reason used when the image import is failed.
123+
ImageImportFailedV1Beta2Reason = "ImageImportFailed"
124+
)
125+
126+
const (
127+
// DeletingV1Beta2Reason surfaces when an object is deleting because the
128+
// DeletionTimestamp is set. This reason is used if none of the more specific reasons apply.
129+
DeletingV1Beta2Reason = "Deleting"
130+
131+
// InternalErrorV1Beta2Reason surfaces unexpected errors reporting by controllers.
132+
// In most cases, it will be required to look at controllers logs to properly triage those issues.
133+
InternalErrorV1Beta2Reason = "InternalError"
134+
)

internal/controllers/powervs/ibmpowervscluster_controller.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ func (r *IBMPowerVSClusterReconciler) reconcile(ctx context.Context, clusterScop
219219
// reconcile Transit Gateway
220220
log.Info("Reconciling transit gateway")
221221
if requeue, err := clusterScope.ReconcileTransitGateway(ctx); err != nil {
222-
deprecatedv1beta1conditions.MarkFalse(powerVSCluster.cluster, infrav1.TransitGatewayReadyCondition, infrav1.TransitGatewayReconciliationFailedReason, clusterv1.ConditionSeverityError, "%s", err.Error())
222+
deprecatedv1beta1conditions.MarkFalse(powerVSCluster.cluster, infrav1.TransitGatewayReadyV1Beta2Condition, infrav1.TransitGatewayReconciliationFailedV1Beta2Reason, clusterv1.ConditionSeverityError, "%s", err.Error())
223223
conditions.Set(powerVSCluster.cluster, metav1.Condition{
224224
Type: infrav1.TransitGatewayReadyCondition,
225225
Status: metav1.ConditionFalse,
@@ -231,7 +231,7 @@ func (r *IBMPowerVSClusterReconciler) reconcile(ctx context.Context, clusterScop
231231
log.Info("Creating a transit gateway is pending, requeuing")
232232
return reconcile.Result{RequeueAfter: 1 * time.Minute}, nil
233233
}
234-
deprecatedv1beta1conditions.MarkTrue(powerVSCluster.cluster, infrav1.TransitGatewayReadyCondition)
234+
deprecatedv1beta1conditions.MarkTrue(powerVSCluster.cluster, infrav1.TransitGatewayReadyV1Beta2Condition)
235235
conditions.Set(powerVSCluster.cluster, metav1.Condition{
236236
Type: infrav1.TransitGatewayReadyCondition,
237237
Status: metav1.ConditionTrue,
@@ -242,7 +242,7 @@ func (r *IBMPowerVSClusterReconciler) reconcile(ctx context.Context, clusterScop
242242
if clusterScope.IBMPowerVSCluster.Spec.Ignition != nil {
243243
log.Info("Reconciling COS service instance")
244244
if err := clusterScope.ReconcileCOSInstance(ctx); err != nil {
245-
deprecatedv1beta1conditions.MarkFalse(powerVSCluster.cluster, infrav1.COSInstanceReadyCondition, infrav1.COSInstanceReconciliationFailedReason, clusterv1.ConditionSeverityError, "%s", err.Error())
245+
deprecatedv1beta1conditions.MarkFalse(powerVSCluster.cluster, infrav1.COSInstanceReadyV1Beta2Condition, infrav1.COSInstanceReconciliationFailedV1Beta2Reason, clusterv1.ConditionSeverityError, "%s", err.Error())
246246
conditions.Set(powerVSCluster.cluster, metav1.Condition{
247247
Type: infrav1.COSInstanceReadyCondition,
248248
Status: metav1.ConditionFalse,
@@ -251,7 +251,7 @@ func (r *IBMPowerVSClusterReconciler) reconcile(ctx context.Context, clusterScop
251251
})
252252
return reconcile.Result{}, fmt.Errorf("failed to reconcile COS instance: %w", err)
253253
}
254-
deprecatedv1beta1conditions.MarkTrue(powerVSCluster.cluster, infrav1.COSInstanceReadyCondition)
254+
deprecatedv1beta1conditions.MarkTrue(powerVSCluster.cluster, infrav1.COSInstanceReadyV1Beta2Condition)
255255
conditions.Set(powerVSCluster.cluster, metav1.Condition{
256256
Type: infrav1.COSInstanceReadyCondition,
257257
Status: metav1.ConditionTrue,
@@ -305,8 +305,8 @@ func (r *IBMPowerVSClusterReconciler) reconcilePowerVSResources(ctx context.Cont
305305
if requeue, err := clusterScope.ReconcilePowerVSServiceInstance(ctx); err != nil {
306306
powerVSCluster.updateCondition(clusterv1.Condition{
307307
Status: corev1.ConditionFalse,
308-
Type: infrav1.ServiceInstanceReadyCondition,
309-
Reason: infrav1.ServiceInstanceReconciliationFailedReason,
308+
Type: infrav1.ServiceInstanceReadyV1Beta2Condition,
309+
Reason: infrav1.ServiceInstanceReconciliationFailedV1Beta2Reason,
310310
Severity: clusterv1.ConditionSeverityError,
311311
Message: err.Error(),
312312
})
@@ -326,7 +326,7 @@ func (r *IBMPowerVSClusterReconciler) reconcilePowerVSResources(ctx context.Cont
326326
}
327327
powerVSCluster.updateCondition(clusterv1.Condition{
328328
Status: corev1.ConditionTrue,
329-
Type: infrav1.ServiceInstanceReadyCondition,
329+
Type: infrav1.ServiceInstanceReadyV1Beta2Condition,
330330
})
331331
conditions.Set(powerVSCluster.cluster, metav1.Condition{
332332
Type: infrav1.WorkspaceReadyCondition,
@@ -341,8 +341,8 @@ func (r *IBMPowerVSClusterReconciler) reconcilePowerVSResources(ctx context.Cont
341341
if networkActive, err := clusterScope.ReconcileNetwork(ctx); err != nil {
342342
powerVSCluster.updateCondition(clusterv1.Condition{
343343
Status: corev1.ConditionFalse,
344-
Type: infrav1.NetworkReadyCondition,
345-
Reason: infrav1.NetworkReconciliationFailedReason,
344+
Type: infrav1.NetworkReadyV1Beta2Condition,
345+
Reason: infrav1.NetworkReconciliationFailedV1Beta2Reason,
346346
Severity: clusterv1.ConditionSeverityError,
347347
Message: err.Error(),
348348
})
@@ -357,7 +357,7 @@ func (r *IBMPowerVSClusterReconciler) reconcilePowerVSResources(ctx context.Cont
357357
} else if networkActive {
358358
powerVSCluster.updateCondition(clusterv1.Condition{
359359
Status: corev1.ConditionTrue,
360-
Type: infrav1.NetworkReadyCondition,
360+
Type: infrav1.NetworkReadyV1Beta2Condition,
361361
})
362362
conditions.Set(powerVSCluster.cluster, metav1.Condition{
363363
Type: infrav1.NetworkReadyCondition,
@@ -382,8 +382,8 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
382382
if requeue, err := clusterScope.ReconcileVPC(ctx); err != nil {
383383
powerVSCluster.updateCondition(clusterv1.Condition{
384384
Status: corev1.ConditionFalse,
385-
Type: infrav1.VPCReadyCondition,
386-
Reason: infrav1.VPCReconciliationFailedReason,
385+
Type: infrav1.VPCReadyV1Beta2Condition,
386+
Reason: infrav1.VPCReconciliationFailedV1Beta2Reason,
387387
Severity: clusterv1.ConditionSeverityError,
388388
Message: err.Error(),
389389
})
@@ -402,7 +402,7 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
402402
}
403403
powerVSCluster.updateCondition(clusterv1.Condition{
404404
Status: corev1.ConditionTrue,
405-
Type: infrav1.VPCReadyCondition,
405+
Type: infrav1.VPCReadyV1Beta2Condition,
406406
})
407407
conditions.Set(powerVSCluster.cluster, metav1.Condition{
408408
Type: infrav1.VPCReadyCondition,
@@ -415,8 +415,8 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
415415
if requeue, err := clusterScope.ReconcileVPCSubnets(ctx); err != nil {
416416
powerVSCluster.updateCondition(clusterv1.Condition{
417417
Status: corev1.ConditionFalse,
418-
Type: infrav1.VPCSubnetReadyCondition,
419-
Reason: infrav1.VPCSubnetReconciliationFailedReason,
418+
Type: infrav1.VPCSubnetReadyV1Beta2Condition,
419+
Reason: infrav1.VPCSubnetReconciliationFailedV1Beta2Reason,
420420
Severity: clusterv1.ConditionSeverityError,
421421
Message: err.Error(),
422422
})
@@ -435,7 +435,7 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
435435
}
436436
powerVSCluster.updateCondition(clusterv1.Condition{
437437
Status: corev1.ConditionTrue,
438-
Type: infrav1.VPCSubnetReadyCondition,
438+
Type: infrav1.VPCSubnetReadyV1Beta2Condition,
439439
})
440440
conditions.Set(powerVSCluster.cluster, metav1.Condition{
441441
Type: infrav1.VPCSubnetReadyCondition,
@@ -448,23 +448,23 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
448448
if err := clusterScope.ReconcileVPCSecurityGroups(ctx); err != nil {
449449
powerVSCluster.updateCondition(clusterv1.Condition{
450450
Status: corev1.ConditionFalse,
451-
Type: infrav1.VPCSecurityGroupReadyCondition,
452-
Reason: infrav1.VPCSecurityGroupReconciliationFailedReason,
451+
Type: infrav1.VPCSecurityGroupReadyV1Beta2Condition,
452+
Reason: infrav1.VPCSecurityGroupReconciliationFailedV1Beta2Reason,
453453
Severity: clusterv1.ConditionSeverityError,
454454
Message: err.Error(),
455455
})
456456
conditions.Set(powerVSCluster.cluster, metav1.Condition{
457457
Type: infrav1.VPCSecurityGroupReadyCondition,
458458
Status: metav1.ConditionFalse,
459-
Reason: infrav1.VPCSecurityGroupReadyCondition,
459+
Reason: infrav1.VPCSecurityGroupReconciliationFailedReason,
460460
Message: err.Error(),
461461
})
462462
ch <- reconcileResult{reconcile.Result{}, fmt.Errorf("failed to reconcile VPC security groups: %w", err)}
463463
return
464464
}
465465
powerVSCluster.updateCondition(clusterv1.Condition{
466466
Status: corev1.ConditionTrue,
467-
Type: infrav1.VPCSecurityGroupReadyCondition,
467+
Type: infrav1.VPCSecurityGroupReadyV1Beta2Condition,
468468
})
469469
conditions.Set(powerVSCluster.cluster, metav1.Condition{
470470
Type: infrav1.VPCSecurityGroupReadyCondition,
@@ -477,8 +477,8 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
477477
if loadBalancerReady, err := clusterScope.ReconcileLoadBalancers(ctx); err != nil {
478478
powerVSCluster.updateCondition(clusterv1.Condition{
479479
Status: corev1.ConditionFalse,
480-
Type: infrav1.LoadBalancerReadyCondition,
481-
Reason: infrav1.LoadBalancerReconciliationFailedReason,
480+
Type: infrav1.LoadBalancerReadyV1Beta2Condition,
481+
Reason: infrav1.LoadBalancerReconciliationFailedV1Beta2Reason,
482482
Severity: clusterv1.ConditionSeverityError,
483483
Message: err.Error(),
484484
})
@@ -493,7 +493,7 @@ func (r *IBMPowerVSClusterReconciler) reconcileVPCResources(ctx context.Context,
493493
} else if loadBalancerReady {
494494
powerVSCluster.updateCondition(clusterv1.Condition{
495495
Status: corev1.ConditionTrue,
496-
Type: infrav1.LoadBalancerReadyCondition,
496+
Type: infrav1.LoadBalancerReadyV1Beta2Condition,
497497
})
498498
conditions.Set(powerVSCluster.cluster, metav1.Condition{
499499
Type: infrav1.VPCLoadBalancerReadyCondition,

0 commit comments

Comments
 (0)