From 1f505ab8698ea3a4e70e09b01c6145a2f19e32d7 Mon Sep 17 00:00:00 2001 From: Andrei Ivashchenko Date: Mon, 16 May 2022 13:54:25 +0300 Subject: [PATCH] Flush messages on successful reconcile --- api/v1alpha1/subnet_types.go | 2 ++ controllers/ip_controller.go | 2 ++ controllers/network_controller.go | 5 +++++ controllers/networkcounter_controller.go | 1 + controllers/subnet_controller.go | 2 ++ 5 files changed, 12 insertions(+) diff --git a/api/v1alpha1/subnet_types.go b/api/v1alpha1/subnet_types.go index aab3677..bfd0010 100644 --- a/api/v1alpha1/subnet_types.go +++ b/api/v1alpha1/subnet_types.go @@ -149,6 +149,7 @@ func init() { // PopulateStatus fills status subresource with default values func (in *Subnet) PopulateStatus() { in.Status.State = CProcessingSubnetState + in.Status.Message = "" regionCount := len(in.Spec.Regions) if regionCount == 0 { @@ -176,6 +177,7 @@ func (in *Subnet) FillStatusFromCidr(cidr *CIDR) { in.Status.Type = CIPv6SubnetType } + in.Status.Message = "" in.Status.Reserved = cidr.DeepCopy() in.Status.Vacant = []CIDR{*cidr.DeepCopy()} in.Status.PrefixBits = cidr.MaskOnes() diff --git a/controllers/ip_controller.go b/controllers/ip_controller.go index 11d85ac..2645301 100644 --- a/controllers/ip_controller.go +++ b/controllers/ip_controller.go @@ -107,6 +107,7 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re if ip.Status.State == "" { ip.Status.State = v1alpha1.CProcessingIPState + ip.Status.Message = "" if err := r.Status().Update(ctx, ip); err != nil { log.Error(err, "unable to update ip resource status", "name", req.NamespacedName, "currentStatus", ip.Status.State, "targetStatus", v1alpha1.CProcessingNetworkState) return ctrl.Result{}, err @@ -158,6 +159,7 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re } ip.Status.State = v1alpha1.CFinishedIPState + ip.Status.Message = "" ip.Status.Reserved = ipCidrToReserve.AsIPAddr() if err := r.Status().Update(ctx, ip); err != nil { log.Error(err, "unable to update ip status after ip reservation", "name", req.NamespacedName, "subnet name", subnetNamespacedName) diff --git a/controllers/network_controller.go b/controllers/network_controller.go index a77370a..e4c3dcc 100644 --- a/controllers/network_controller.go +++ b/controllers/network_controller.go @@ -107,6 +107,7 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct network.Status.Reserved == nil && network.Spec.Type != "" { network.Status.State = machinev1alpha1.CProcessingNetworkState + network.Status.Message = "" if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network resource status", "name", req.NamespacedName, "currentStatus", network.Status.State, "targetStatus", machinev1alpha1.CProcessingNetworkState) return ctrl.Result{}, err @@ -125,6 +126,7 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct if network.Status.State == "" { network.Status.State = machinev1alpha1.CProcessingNetworkState + network.Status.Message = "" if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network resource status", "name", req.NamespacedName, "currentStatus", network.Status.State, "targetStatus", machinev1alpha1.CProcessingNetworkState) return ctrl.Result{}, err @@ -135,6 +137,7 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct if network.Spec.Type == "" { log.Info("network does not specify type, nothing to do for now", "name", req.NamespacedName) network.Status.State = machinev1alpha1.CFinishedNetworkState + network.Status.Message = "" if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network status", "name", req.NamespacedName) return ctrl.Result{}, err @@ -203,6 +206,7 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct r.EventRecorder.Eventf(network, v1.EventTypeNormal, CNetworkIDReservationSuccessReason, "ID %s for type %s reserved successfully", networkIdToReserve, network.Spec.Type) network.Status.State = machinev1alpha1.CFinishedNetworkState + network.Status.Message = "" network.Status.Reserved = networkIdToReserve if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network status", "name", req.NamespacedName) @@ -225,6 +229,7 @@ func (r *NetworkReconciler) requeueFailedSubnets(ctx context.Context, log logr.L for _, subnet := range subnets.Items { subnet.Status.State = machinev1alpha1.CProcessingSubnetState + subnet.Status.Message = "" if err := r.Status().Update(ctx, &subnet); err != nil { log.Error(err, "unable to update top level subnet", "name", types.NamespacedName{Namespace: network.Namespace, Name: network.Name}, "subnet", subnet.Name) return err diff --git a/controllers/networkcounter_controller.go b/controllers/networkcounter_controller.go index 5b092ab..68bc10a 100644 --- a/controllers/networkcounter_controller.go +++ b/controllers/networkcounter_controller.go @@ -65,6 +65,7 @@ func (r *NetworkCounterReconciler) Reconcile(ctx context.Context, req ctrl.Reque for _, network := range networks.Items { network.Status.State = machinev1alpha1.CProcessingNetworkState + network.Status.Message = "" if err := r.Status().Update(ctx, &network); err != nil { log.Error(err, "unable to update network", "name", req.NamespacedName, "network", network.Name) return ctrl.Result{}, err diff --git a/controllers/subnet_controller.go b/controllers/subnet_controller.go index c9b13c5..ae626a5 100644 --- a/controllers/subnet_controller.go +++ b/controllers/subnet_controller.go @@ -424,6 +424,7 @@ func (r *SubnetReconciler) requeueFailedSubnets(ctx context.Context, log logr.Lo for _, subnet := range subnets.Items { subnet.Status.State = v1alpha1.CProcessingSubnetState + subnet.Status.Message = "" if err := r.Status().Update(ctx, &subnet); err != nil { log.Error(err, "unable to update child subnet", "name", types.NamespacedName{Namespace: subnet.Namespace, Name: subnet.Name}, "subnet", subnet.Name) return err @@ -446,6 +447,7 @@ func (r *SubnetReconciler) requeueFailedIPs(ctx context.Context, log logr.Logger for _, ip := range ips.Items { ip.Status.State = v1alpha1.CProcessingIPState + ip.Status.Message = "" if err := r.Status().Update(ctx, &ip); err != nil { log.Error(err, "unable to update child ips", "name", types.NamespacedName{Namespace: subnet.Namespace, Name: subnet.Name}, "subnet", subnet.Name) return err