@@ -26,6 +26,7 @@ import (
26
26
azurestackhci "github.com/microsoft/cluster-api-provider-azurestackhci/cloud"
27
27
"github.com/microsoft/cluster-api-provider-azurestackhci/cloud/scope"
28
28
infrav1util "github.com/microsoft/cluster-api-provider-azurestackhci/pkg/util"
29
+ mocerrors "github.com/microsoft/moc/pkg/errors"
29
30
"github.com/pkg/errors"
30
31
corev1 "k8s.io/api/core/v1"
31
32
apierrors "k8s.io/apimachinery/pkg/api/errors"
@@ -132,9 +133,18 @@ func (r *AzureStackHCIClusterReconciler) reconcileNormal(clusterScope *scope.Clu
132
133
133
134
err := newAzureStackHCIClusterReconciler (clusterScope ).Reconcile ()
134
135
if err != nil {
136
+ switch mocerrors .GetErrorCode (err ) {
137
+ case mocerrors .OutOfMemory .Error ():
138
+ conditions .MarkFalse (azureStackHCICluster , infrav1 .NetworkInfrastructureReadyCondition , infrav1 .OutOfMemoryReason , clusterv1 .ConditionSeverityError , err .Error ())
139
+ case mocerrors .OutOfCapacity .Error ():
140
+ conditions .MarkFalse (azureStackHCICluster , infrav1 .NetworkInfrastructureReadyCondition , infrav1 .OutOfCapacityReason , clusterv1 .ConditionSeverityError , err .Error ())
141
+ default :
142
+ conditions .MarkFalse (azureStackHCICluster , infrav1 .NetworkInfrastructureReadyCondition , infrav1 .ClusterReconciliationFailedReason , clusterv1 .ConditionSeverityError , err .Error ())
143
+ }
144
+
135
145
wrappedErr := errors .Wrap (err , "failed to reconcile cluster services" )
136
146
r .Recorder .Eventf (azureStackHCICluster , corev1 .EventTypeWarning , "ClusterReconcileFailed" , wrappedErr .Error ())
137
- conditions . MarkFalse ( azureStackHCICluster , infrav1 . NetworkInfrastructureReadyCondition , infrav1 . ClusterReconciliationFailedReason , clusterv1 . ConditionSeverityWarning , err . Error ())
147
+
138
148
return reconcile.Result {}, wrappedErr
139
149
}
140
150
0 commit comments