diff --git a/api/ipam/v1alpha1/ip_types.go b/api/ipam/v1alpha1/ip_types.go index 53421b9..78cafbf 100644 --- a/api/ipam/v1alpha1/ip_types.go +++ b/api/ipam/v1alpha1/ip_types.go @@ -9,9 +9,10 @@ import ( ) const ( - FailedIPState IPState = "Failed" - ProcessingIPState IPState = "Processing" - FinishedIPState IPState = "Finished" + // TODO: Remove failed state + IPStateFailed IPState = "Failed" + IPStatePending IPState = "Pending" + IPStateAllocated IPState = "Allocated" ) // IPState is a processing state of IP resource diff --git a/api/ipam/v1alpha1/network_types.go b/api/ipam/v1alpha1/network_types.go index f65216e..b1b4674 100644 --- a/api/ipam/v1alpha1/network_types.go +++ b/api/ipam/v1alpha1/network_types.go @@ -28,9 +28,9 @@ type NetworkSpec struct { } const ( - CFailedNetworkState NetworkState = "Failed" - CProcessingNetworkState NetworkState = "Processing" - CFinishedNetworkState NetworkState = "Finished" + NetworkStateFailed NetworkState = "Failed" + NetworkStatePending NetworkState = "Pending" + NetworkStateAllocated NetworkState = "Allocated" ) type NetworkState string diff --git a/internal/controller/ip_controller.go b/internal/controller/ip_controller.go index 9249af7..35e80c6 100644 --- a/internal/controller/ip_controller.go +++ b/internal/controller/ip_controller.go @@ -22,12 +22,12 @@ import ( ) const ( - CIPFinalizer = "ip.ipam.metal.ironcore.dev/finalizer" + IPFinalizer = "ip.ipam.metal.ironcore.dev/finalizer" - CIPReservationFailureReason = "IPReservationFailure" - CIPProposalFailureReason = "IPProposalFailure" - CIPReservationSuccessReason = "IPReservationSuccess" - CIPReleaseSuccessReason = "IPReleaseSuccess" + IPReservationFailure = "IPReservationFailure" + IPProposalFailure = "IPProposalFailure" + IPReservationSuccess = "IPReservationSuccess" + IPReleaseSuccess = "IPReleaseSuccess" IPFamilyLabelKey = "ip.ipam.metal.ironcore.dev/ip-family" ) @@ -64,14 +64,14 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re } if ip.GetDeletionTimestamp() != nil { - if controllerutil.ContainsFinalizer(ip, CIPFinalizer) { + if controllerutil.ContainsFinalizer(ip, IPFinalizer) { // Free IP on resource deletion if err := r.finalizeIP(ctx, log, ip); err != nil { log.Error(err, "unable to finalize ip resource", "name", req.NamespacedName) return ctrl.Result{}, err } - controllerutil.RemoveFinalizer(ip, CIPFinalizer) + controllerutil.RemoveFinalizer(ip, IPFinalizer) err := r.Update(ctx, ip) if err != nil { log.Error(err, "unable to update ip resource on finalizer removal", "name", req.NamespacedName) @@ -81,8 +81,8 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re return ctrl.Result{}, nil } - if !controllerutil.ContainsFinalizer(ip, CIPFinalizer) { - controllerutil.AddFinalizer(ip, CIPFinalizer) + if !controllerutil.ContainsFinalizer(ip, IPFinalizer) { + controllerutil.AddFinalizer(ip, IPFinalizer) err = r.Update(ctx, ip) if err != nil { log.Error(err, "unable to update ip resource with finalizer", "name", req.NamespacedName) @@ -109,16 +109,16 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re return ctrl.Result{}, err } - if ip.Status.State == v1alpha1.FinishedIPState || - ip.Status.State == v1alpha1.FailedIPState { + if ip.Status.State == v1alpha1.IPStateAllocated || + ip.Status.State == v1alpha1.IPStateFailed { return ctrl.Result{}, nil } if ip.Status.State == "" { - ip.Status.State = v1alpha1.ProcessingIPState + ip.Status.State = v1alpha1.IPStatePending 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) + log.Error(err, "unable to update ip resource status", "name", req.NamespacedName, "currentStatus", ip.Status.State, "targetStatus", v1alpha1.NetworkStatePending) return ctrl.Result{}, err } return ctrl.Result{}, nil @@ -140,25 +140,25 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re } else { cidr, err := subnet.ProposeForCapacity(resource.NewScaledQuantity(1, 0)) if err != nil { - ip.Status.State = v1alpha1.FailedIPState + ip.Status.State = v1alpha1.IPStateFailed ip.Status.Message = err.Error() if err := r.Status().Update(ctx, ip); err != nil { log.Error(err, "unable to update ip status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Eventf(ip, v1.EventTypeWarning, CIPProposalFailureReason, ip.Status.Message) + r.EventRecorder.Eventf(ip, v1.EventTypeWarning, IPProposalFailure, ip.Status.Message) } ipCidrToReserve = cidr } if err := subnet.Reserve(ipCidrToReserve); err != nil { - ip.Status.State = v1alpha1.FailedIPState + ip.Status.State = v1alpha1.IPStateFailed ip.Status.Message = err.Error() if err := r.Status().Update(ctx, ip); err != nil { log.Error(err, "unable to update ip status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Eventf(ip, v1.EventTypeWarning, CIPReservationFailureReason, ip.Status.Message) + r.EventRecorder.Eventf(ip, v1.EventTypeWarning, IPReservationFailure, ip.Status.Message) return ctrl.Result{}, err } @@ -167,14 +167,14 @@ func (r *IPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Re return ctrl.Result{}, err } - ip.Status.State = v1alpha1.FinishedIPState + ip.Status.State = v1alpha1.IPStateAllocated 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) return ctrl.Result{}, err } - r.EventRecorder.Eventf(ip, v1.EventTypeNormal, CIPReservationSuccessReason, "IP %s reserved", ipCidrToReserve.String()) + r.EventRecorder.Eventf(ip, v1.EventTypeNormal, IPReservationSuccess, "IP %s reserved", ipCidrToReserve.String()) return ctrl.Result{}, nil } @@ -217,7 +217,7 @@ func (r *IPReconciler) finalizeIP(ctx context.Context, log logr.Logger, ip *v1al return err } - r.EventRecorder.Eventf(ip, v1.EventTypeNormal, CIPReleaseSuccessReason, "IP %s released", ipCidr.String()) + r.EventRecorder.Eventf(ip, v1.EventTypeNormal, IPReleaseSuccess, "IP %s released", ipCidr.String()) return nil } diff --git a/internal/controller/ip_controller_test.go b/internal/controller/ip_controller_test.go index 2248c26..7a65aad 100644 --- a/internal/controller/ip_controller_test.go +++ b/internal/controller/ip_controller_test.go @@ -111,7 +111,7 @@ var _ = Describe("IP controller", func() { if err != nil { return false } - if createdNetwork.Status.State != v1alpha1.CFinishedNetworkState { + if createdNetwork.Status.State != v1alpha1.NetworkStateAllocated { return false } return true @@ -187,7 +187,7 @@ var _ = Describe("IP controller", func() { if err != nil { return false } - if createdIP.Status.State != v1alpha1.FinishedIPState { + if createdIP.Status.State != v1alpha1.IPStateAllocated { return false } return true @@ -224,7 +224,7 @@ var _ = Describe("IP controller", func() { if err != nil { return false } - if ipCopy.Status.State != v1alpha1.FailedIPState { + if ipCopy.Status.State != v1alpha1.IPStateFailed { return false } return true @@ -244,7 +244,7 @@ var _ = Describe("IP controller", func() { if err != nil { return false } - if ipCopy.Status.State != v1alpha1.FinishedIPState { + if ipCopy.Status.State != v1alpha1.IPStateAllocated { return false } if !ipCopy.Status.Reserved.Equal(testIP) { diff --git a/internal/controller/network_controller.go b/internal/controller/network_controller.go index 31d3f4f..e6b4e6f 100644 --- a/internal/controller/network_controller.go +++ b/internal/controller/network_controller.go @@ -21,14 +21,14 @@ import ( ) const ( - CNetworkFinalizer = "network.ipam.metal.ironcore.dev/finalizer" + NetworkFinalizer = "network.ipam.metal.ironcore.dev/finalizer" - CNetworkIDProposalFailureReason = "NetworkIDProposalFailure" - CNetworkIDReservationFailureReason = "NetworkIDReservationFailure" - CNetworkIDReservationSuccessReason = "NetworkIDReservationSuccess" - CNetworkIDReleaseSuccessReason = "NetworkIDReleaseSuccess" + NetworkIDProposalFailure = "NetworkIDProposalFailure" + NetworkIDReservationFailure = "NetworkIDReservationFailure" + NetworkIDReservationSuccess = "NetworkIDReservationSuccess" + NetworkIDReleaseSuccess = "NetworkIDReleaseSuccess" - CFailedTopLevelSubnetIndexKey = "failedTopLevelSubnet" + FailedTopLevelSubnetIndexKey = "failedTopLevelSubnet" ) // NetworkReconciler reconciles a Network object @@ -64,13 +64,13 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct } if network.GetDeletionTimestamp() != nil { - if controllerutil.ContainsFinalizer(network, CNetworkFinalizer) { + if controllerutil.ContainsFinalizer(network, NetworkFinalizer) { if err := r.finalizeNetwork(ctx, log, network); err != nil { log.Error(err, "unable to finalize network resource", "name", req.NamespacedName) return ctrl.Result{}, err } - controllerutil.RemoveFinalizer(network, CNetworkFinalizer) + controllerutil.RemoveFinalizer(network, NetworkFinalizer) err := r.Update(ctx, network) if err != nil { log.Error(err, "unable to update network resource on finalizer removal", "name", req.NamespacedName) @@ -80,8 +80,8 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct return ctrl.Result{}, nil } - if !controllerutil.ContainsFinalizer(network, CNetworkFinalizer) { - controllerutil.AddFinalizer(network, CNetworkFinalizer) + if !controllerutil.ContainsFinalizer(network, NetworkFinalizer) { + controllerutil.AddFinalizer(network, NetworkFinalizer) err = r.Update(ctx, network) if err != nil { log.Error(err, "unable to update network resource with finalizer", "name", req.NamespacedName) @@ -90,20 +90,20 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct return ctrl.Result{}, nil } - if network.Status.State == machinev1alpha1.CFinishedNetworkState && + if network.Status.State == machinev1alpha1.NetworkStateAllocated && network.Status.Reserved == nil && network.Spec.Type != "" { - network.Status.State = machinev1alpha1.CProcessingNetworkState + network.Status.State = machinev1alpha1.NetworkStatePending 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) + log.Error(err, "unable to update network resource status", "name", req.NamespacedName, "currentStatus", network.Status.State, "targetStatus", machinev1alpha1.NetworkStatePending) return ctrl.Result{}, err } return ctrl.Result{}, nil } - if network.Status.State == machinev1alpha1.CFinishedNetworkState || - network.Status.State == machinev1alpha1.CFailedNetworkState { + if network.Status.State == machinev1alpha1.NetworkStateAllocated || + network.Status.State == machinev1alpha1.NetworkStateFailed { if err := r.requeueFailedSubnets(ctx, log, network); err != nil { log.Error(err, "unable to requeue top level subnets", "name", req.NamespacedName) return ctrl.Result{}, err @@ -112,10 +112,10 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct } if network.Status.State == "" { - network.Status.State = machinev1alpha1.CProcessingNetworkState + network.Status.State = machinev1alpha1.NetworkStatePending 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) + log.Error(err, "unable to update network resource status", "name", req.NamespacedName, "currentStatus", network.Status.State, "targetStatus", machinev1alpha1.NetworkStatePending) return ctrl.Result{}, err } return ctrl.Result{}, nil @@ -123,7 +123,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.State = machinev1alpha1.NetworkStateAllocated network.Status.Message = "" if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network status", "name", req.NamespacedName) @@ -161,13 +161,13 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct if networkIdToReserve == nil { networkId, err := counter.Spec.Propose() if err != nil { - network.Status.State = machinev1alpha1.CFailedNetworkState + network.Status.State = machinev1alpha1.NetworkStateFailed network.Status.Message = err.Error() if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(network, v1.EventTypeWarning, CNetworkIDProposalFailureReason, network.Status.Message) + r.EventRecorder.Event(network, v1.EventTypeWarning, NetworkIDProposalFailure, network.Status.Message) log.Error(err, "unable to get network id", "name", req.NamespacedName) return ctrl.Result{}, err } @@ -175,13 +175,13 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct } if err := counter.Spec.Reserve(networkIdToReserve); err != nil { - network.Status.State = machinev1alpha1.CFailedNetworkState + network.Status.State = machinev1alpha1.NetworkStateFailed network.Status.Message = err.Error() if err := r.Status().Update(ctx, network); err != nil { log.Error(err, "unable to update network status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(network, v1.EventTypeWarning, CNetworkIDReservationFailureReason, network.Status.Message) + r.EventRecorder.Event(network, v1.EventTypeWarning, NetworkIDReservationFailure, network.Status.Message) log.Error(err, "unable to reserve network id", "name", req.NamespacedName, "network id", network.Spec.ID) return ctrl.Result{}, err } @@ -190,9 +190,9 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct log.Error(err, "unable to update counter state", "name", req.NamespacedName, "counter name", counterNamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Eventf(network, v1.EventTypeNormal, CNetworkIDReservationSuccessReason, "ID %s for type %s reserved successfully", networkIdToReserve, network.Spec.Type) + r.EventRecorder.Eventf(network, v1.EventTypeNormal, NetworkIDReservationSuccess, "ID %s for type %s reserved successfully", networkIdToReserve, network.Spec.Type) - network.Status.State = machinev1alpha1.CFinishedNetworkState + network.Status.State = machinev1alpha1.NetworkStateAllocated network.Status.Message = "" network.Status.Reserved = networkIdToReserve if err := r.Status().Update(ctx, network); err != nil { @@ -205,7 +205,7 @@ func (r *NetworkReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct func (r *NetworkReconciler) requeueFailedSubnets(ctx context.Context, log logr.Logger, network *machinev1alpha1.Network) error { matchingFields := client.MatchingFields{ - CFailedTopLevelSubnetIndexKey: network.Name, + FailedTopLevelSubnetIndexKey: network.Name, } subnets := &machinev1alpha1.SubnetList{} @@ -272,7 +272,7 @@ func (r *NetworkReconciler) finalizeNetwork(ctx context.Context, log logr.Logger log.Error(err, "unexpected error while updating counter", "counter name", counterNamespacedName) return err } - r.EventRecorder.Eventf(network, v1.EventTypeNormal, CNetworkIDReleaseSuccessReason, "ID %s for type %s released successfully", network.Status.Reserved, network.Spec.Type) + r.EventRecorder.Eventf(network, v1.EventTypeNormal, NetworkIDReleaseSuccess, "ID %s for type %s released successfully", network.Status.Reserved, network.Spec.Type) return nil } @@ -281,11 +281,11 @@ func (r *NetworkReconciler) typeToCounterName(networkType machinev1alpha1.Networ counterName := "" switch networkType { case machinev1alpha1.VXLANNetworkType: - counterName = CVXLANCounterName + counterName = VXLANCounterName case machinev1alpha1.GENEVENetworkType: - counterName = CGENEVECounterName + counterName = GENEVECounterName case machinev1alpha1.MPLSNetworkType: - counterName = CMPLSCounterName + counterName = MPLSCounterName default: return "", errors.Errorf("unsupported network type %s", networkType) } @@ -313,7 +313,7 @@ func (r *NetworkReconciler) SetupWithManager(mgr ctrl.Manager) error { } if err := mgr.GetFieldIndexer().IndexField( - context.Background(), &machinev1alpha1.Subnet{}, CFailedTopLevelSubnetIndexKey, createFailedSubnetIndexValue); err != nil { + context.Background(), &machinev1alpha1.Subnet{}, FailedTopLevelSubnetIndexKey, createFailedSubnetIndexValue); err != nil { return err } diff --git a/internal/controller/network_controller_test.go b/internal/controller/network_controller_test.go index 91fbda5..8d03426 100644 --- a/internal/controller/network_controller_test.go +++ b/internal/controller/network_controller_test.go @@ -89,7 +89,7 @@ var _ = Describe("Network controller", func() { network *v1alpha1.Network }{ { - counterName: CVXLANCounterName, + counterName: VXLANCounterName, firstId: v1alpha1.VXLANFirstAvaliableID, network: &v1alpha1.Network{ ObjectMeta: metav1.ObjectMeta{ @@ -102,7 +102,7 @@ var _ = Describe("Network controller", func() { }, }, { - counterName: CGENEVECounterName, + counterName: GENEVECounterName, firstId: v1alpha1.GENEVEFirstAvaliableID, network: &v1alpha1.Network{ ObjectMeta: metav1.ObjectMeta{ @@ -115,7 +115,7 @@ var _ = Describe("Network controller", func() { }, }, { - counterName: CMPLSCounterName, + counterName: MPLSCounterName, firstId: v1alpha1.MPLSFirstAvailableID, network: &v1alpha1.Network{ ObjectMeta: metav1.ObjectMeta{ @@ -138,10 +138,10 @@ var _ = Describe("Network controller", func() { if err != nil { return false } - if !controllerutil.ContainsFinalizer(testNetwork, CNetworkFinalizer) { + if !controllerutil.ContainsFinalizer(testNetwork, NetworkFinalizer) { return false } - if testNetwork.Status.State != v1alpha1.CFinishedNetworkState { + if testNetwork.Status.State != v1alpha1.NetworkStateAllocated { return false } if testNetwork.Status.Reserved == nil { @@ -183,7 +183,7 @@ var _ = Describe("Network controller", func() { if err != nil { return false } - if testNetworkCopy.Status.State != v1alpha1.CFailedNetworkState { + if testNetworkCopy.Status.State != v1alpha1.NetworkStateFailed { return false } return true diff --git a/internal/controller/networkcounter_controller.go b/internal/controller/networkcounter_controller.go index 68fe3ea..e1fe678 100644 --- a/internal/controller/networkcounter_controller.go +++ b/internal/controller/networkcounter_controller.go @@ -18,11 +18,11 @@ import ( ) const ( - CVXLANCounterName = "k8s-vxlan-network-counter" - CGENEVECounterName = "k8s-geneve-network-counter" - CMPLSCounterName = "k8s-mpls-network-counter" + VXLANCounterName = "k8s-vxlan-network-counter" + GENEVECounterName = "k8s-geneve-network-counter" + MPLSCounterName = "k8s-mpls-network-counter" - CFailedNetworkOfTypeIndexKey = "failedNetworkOfType" + FailedNetworkOfTypeIndexKey = "failedNetworkOfType" ) // NetworkCounterReconciler reconciles a NetworkCounter object @@ -58,7 +58,7 @@ func (r *NetworkCounterReconciler) Reconcile(ctx context.Context, req ctrl.Reque } matchingFields := client.MatchingFields{ - CFailedNetworkOfTypeIndexKey: string(netType), + FailedNetworkOfTypeIndexKey: string(netType), } networks := &v1alpha1.NetworkList{} @@ -68,7 +68,7 @@ func (r *NetworkCounterReconciler) Reconcile(ctx context.Context, req ctrl.Reque } for _, network := range networks.Items { - network.Status.State = v1alpha1.CProcessingNetworkState + network.Status.State = v1alpha1.NetworkStatePending 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) @@ -91,14 +91,14 @@ func (r *NetworkCounterReconciler) SetupWithManager(mgr ctrl.Manager) error { if netType == "" { return nil } - if state != v1alpha1.CFailedNetworkState { + if state != v1alpha1.NetworkStateFailed { return nil } return []string{string(netType)} } if err := mgr.GetFieldIndexer().IndexField( - context.Background(), &v1alpha1.Network{}, CFailedNetworkOfTypeIndexKey, createFailedNetworkOfTypeIndexValue); err != nil { + context.Background(), &v1alpha1.Network{}, FailedNetworkOfTypeIndexKey, createFailedNetworkOfTypeIndexValue); err != nil { return err } @@ -111,11 +111,11 @@ func (r *NetworkCounterReconciler) SetupWithManager(mgr ctrl.Manager) error { func (r *NetworkCounterReconciler) counterNameToType(name string) (v1alpha1.NetworkType, error) { var counterType v1alpha1.NetworkType switch name { - case CVXLANCounterName: + case VXLANCounterName: counterType = v1alpha1.VXLANNetworkType - case CGENEVECounterName: + case GENEVECounterName: counterType = v1alpha1.GENEVENetworkType - case CMPLSCounterName: + case MPLSCounterName: counterType = v1alpha1.MPLSNetworkType default: return "", errors.Errorf("unknown network counter %s", name) diff --git a/internal/controller/networkcounter_controller_test.go b/internal/controller/networkcounter_controller_test.go index baa831c..6f6367e 100644 --- a/internal/controller/networkcounter_controller_test.go +++ b/internal/controller/networkcounter_controller_test.go @@ -17,7 +17,7 @@ var _ = Describe("NetworkCounter controller", func() { ns := SetupTest() const ( - NetworkCounterName = CVXLANCounterName + NetworkCounterName = VXLANCounterName NetworkName = "test-network" ) @@ -116,7 +116,7 @@ var _ = Describe("NetworkCounter controller", func() { if err != nil { return false } - if updatedNetwork.Status.State != v1alpha1.CFailedNetworkState { + if updatedNetwork.Status.State != v1alpha1.NetworkStateFailed { return false } return true @@ -140,7 +140,7 @@ var _ = Describe("NetworkCounter controller", func() { if err != nil { return false } - if updatedNetwork.Status.State != v1alpha1.CFinishedNetworkState { + if updatedNetwork.Status.State != v1alpha1.NetworkStateAllocated { return false } if updatedNetwork.Status.Reserved == nil { diff --git a/internal/controller/subnet_controller.go b/internal/controller/subnet_controller.go index cc389b8..eae2aae 100644 --- a/internal/controller/subnet_controller.go +++ b/internal/controller/subnet_controller.go @@ -21,23 +21,23 @@ import ( ) const ( - CSubnetFinalizer = "subnet.ipam.metal.ironcore.dev/finalizer" + SubnetFinalizer = "subnet.ipam.metal.ironcore.dev/finalizer" - CSubnetFinalizationSuccessReason = "SubnetFinalizationSuccess" + SubnetFinalizationSuccess = "SubnetFinalizationSuccess" - CTopSubnetReservationFailureReason = "TopSubnetReservationFailure" - CTopSubnetReservationSuccessReason = "TopSubnetReservationSuccess" - CTopSubnetReleaseSuccessReason = "TopSubnetReleaseSuccess" + TopSubnetReservationFailure = "TopSubnetReservationFailure" + TopSubnetReservationSuccess = "TopSubnetReservationSuccess" + TopSubnetReleaseSuccess = "TopSubnetReleaseSuccess" - CChildSubnetAZScopeFailureReason = "ChildSubnetAZScopeFailure" - CChildSubnetRegionScopeFailureReason = "ChildSubnetRegionScopeFailure" - CChildSubnetCIDRProposalFailureReason = "ChildSubnetCIDRProposalFailure" - CChildSubnetReservationFailureReason = "ChildSubnetReservationFailure" - CChildSubnetReservationSuccessReason = "ChildSubnetReservationSuccess" - CChildSubnetReleaseSuccessReason = "ChildSubnetReleaseSuccess" + ChildSubnetAZScopeFailure = "ChildSubnetAZScopeFailure" + ChildSubnetRegionScopeFailure = "ChildSubnetRegionScopeFailure" + ChildSubnetCIDRProposalFailure = "ChildSubnetCIDRProposalFailure" + ChildSubnetReservationFailure = "ChildSubnetReservationFailure" + ChildSubnetReservationSuccess = "ChildSubnetReservationSuccess" + ChildSubnetReleaseSuccess = "ChildSubnetReleaseSuccess" - CFailedChildSubnetIndexKey = "failedChildSubnet" - CFailedIPIndexKey = "failedIP" + FailedChildSubnetIndexKey = "failedChildSubnet" + FailedIPIndexKey = "failedIP" ) // SubnetReconciler reconciles a Subnet object @@ -77,26 +77,26 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr if subnet.GetDeletionTimestamp() != nil { // If finalizer is set, then finalizer should be called to release // resources. - if controllerutil.ContainsFinalizer(subnet, CSubnetFinalizer) { + if controllerutil.ContainsFinalizer(subnet, SubnetFinalizer) { if err := r.finalizeSubnet(ctx, log, req.NamespacedName, subnet); err != nil { log.Error(err, "unable to finalize subnet resource", "name", req.NamespacedName) return ctrl.Result{}, err } - controllerutil.RemoveFinalizer(subnet, CSubnetFinalizer) + controllerutil.RemoveFinalizer(subnet, SubnetFinalizer) err := r.Update(ctx, subnet) if err != nil { log.Error(err, "unable to update subnet resource on finalizer removal", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(subnet, v1.EventTypeNormal, CSubnetFinalizationSuccessReason, "Subnet deleted") + r.EventRecorder.Event(subnet, v1.EventTypeNormal, SubnetFinalizationSuccess, "Subnet deleted") } return ctrl.Result{}, nil } // If finalizer is not set, then resource should be updated with finalizer. - if !controllerutil.ContainsFinalizer(subnet, CSubnetFinalizer) { - controllerutil.AddFinalizer(subnet, CSubnetFinalizer) + if !controllerutil.ContainsFinalizer(subnet, SubnetFinalizer) { + controllerutil.AddFinalizer(subnet, SubnetFinalizer) err = r.Update(ctx, subnet) if err != nil { log.Error(err, "unable to update subnet resource with finalizer", "name", req.NamespacedName) @@ -157,7 +157,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update subnet status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(subnet, v1.EventTypeWarning, CTopSubnetReservationFailureReason, subnet.Status.Message) + r.EventRecorder.Event(subnet, v1.EventTypeWarning, TopSubnetReservationFailure, subnet.Status.Message) return ctrl.Result{}, err } @@ -171,7 +171,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update subnet status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, CTopSubnetReservationSuccessReason, "CIDR %s in network %s reserved successfully", subnet.Status.Reserved.String(), network.Name) + r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, TopSubnetReservationSuccess, "CIDR %s in network %s reserved successfully", subnet.Status.Reserved.String(), network.Name) return ctrl.Result{}, nil } @@ -199,7 +199,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update subnet status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(subnet, v1.EventTypeWarning, CChildSubnetRegionScopeFailureReason, subnet.Status.Message) + r.EventRecorder.Event(subnet, v1.EventTypeWarning, ChildSubnetRegionScopeFailure, subnet.Status.Message) return ctrl.Result{}, err } @@ -212,7 +212,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update subnet status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(subnet, v1.EventTypeWarning, CChildSubnetAZScopeFailureReason, subnet.Status.Message) + r.EventRecorder.Event(subnet, v1.EventTypeWarning, ChildSubnetAZScopeFailure, subnet.Status.Message) return ctrl.Result{}, err } @@ -233,7 +233,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update subnet status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(subnet, v1.EventTypeWarning, CChildSubnetCIDRProposalFailureReason, subnet.Status.Message) + r.EventRecorder.Event(subnet, v1.EventTypeWarning, ChildSubnetCIDRProposalFailure, subnet.Status.Message) return ctrl.Result{}, err } @@ -247,7 +247,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update subnet status", "name", req.NamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Event(subnet, v1.EventTypeWarning, CChildSubnetReservationFailureReason, subnet.Status.Message) + r.EventRecorder.Event(subnet, v1.EventTypeWarning, ChildSubnetReservationFailure, subnet.Status.Message) return ctrl.Result{}, err } @@ -261,7 +261,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr log.Error(err, "unable to update parent subnet status after cidr reservation", "name", req.NamespacedName, "parent name", parentSubnetNamespacedName) return ctrl.Result{}, err } - r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, CChildSubnetReservationSuccessReason, "CIDR %s in subnet %s reserved successfully", subnet.Status.Reserved.String(), parentSubnet.Name) + r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, ChildSubnetReservationSuccess, "CIDR %s in subnet %s reserved successfully", subnet.Status.Reserved.String(), parentSubnet.Name) return ctrl.Result{}, nil } @@ -294,19 +294,19 @@ func (r *SubnetReconciler) SetupWithManager(mgr ctrl.Manager) error { if parentSubnet == "" { return nil } - if state != v1alpha1.FailedIPState { + if state != v1alpha1.IPStateFailed { return nil } return []string{parentSubnet} } if err := mgr.GetFieldIndexer().IndexField( - context.Background(), &v1alpha1.Subnet{}, CFailedChildSubnetIndexKey, createFailedSubnetIndexValue); err != nil { + context.Background(), &v1alpha1.Subnet{}, FailedChildSubnetIndexKey, createFailedSubnetIndexValue); err != nil { return err } if err := mgr.GetFieldIndexer().IndexField( - context.Background(), &v1alpha1.IP{}, CFailedIPIndexKey, createFailedIPIndexValue); err != nil { + context.Background(), &v1alpha1.IP{}, FailedIPIndexKey, createFailedIPIndexValue); err != nil { return err } @@ -360,7 +360,7 @@ func (r *SubnetReconciler) finalizeSubnet(ctx context.Context, log logr.Logger, log.Error(err, "unable to update network", "name", namespacedName, "network name", networkNamespacedName) return err } - r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, CTopSubnetReleaseSuccessReason, "CIDR %s in network %s released successfully", subnet.Status.Reserved.String(), network.Name) + r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, TopSubnetReleaseSuccess, "CIDR %s in network %s released successfully", subnet.Status.Reserved.String(), network.Name) } else { parentSubnetNamespacedName := types.NamespacedName{ Namespace: subnet.Namespace, @@ -391,7 +391,7 @@ func (r *SubnetReconciler) finalizeSubnet(ctx context.Context, log logr.Logger, log.Error(err, "unable to update parent subnet status after cidr reservation", "name", namespacedName, "parent name", parentSubnetNamespacedName) return err } - r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, CChildSubnetReleaseSuccessReason, "CIDR %s in subnet %s released successfully", subnet.Status.Reserved.String(), parentSubnet.Name) + r.EventRecorder.Eventf(subnet, v1.EventTypeNormal, ChildSubnetReleaseSuccess, "CIDR %s in subnet %s released successfully", subnet.Status.Reserved.String(), parentSubnet.Name) } return nil @@ -399,7 +399,7 @@ func (r *SubnetReconciler) finalizeSubnet(ctx context.Context, log logr.Logger, func (r *SubnetReconciler) requeueFailedSubnets(ctx context.Context, log logr.Logger, subnet *v1alpha1.Subnet) error { matchingFields := client.MatchingFields{ - CFailedChildSubnetIndexKey: subnet.Name, + FailedChildSubnetIndexKey: subnet.Name, } subnets := &v1alpha1.SubnetList{} @@ -422,7 +422,7 @@ func (r *SubnetReconciler) requeueFailedSubnets(ctx context.Context, log logr.Lo func (r *SubnetReconciler) requeueFailedIPs(ctx context.Context, log logr.Logger, subnet *v1alpha1.Subnet) error { matchingFields := client.MatchingFields{ - CFailedIPIndexKey: subnet.Name, + FailedIPIndexKey: subnet.Name, } ips := &v1alpha1.IPList{} @@ -432,7 +432,7 @@ func (r *SubnetReconciler) requeueFailedIPs(ctx context.Context, log logr.Logger } for _, ip := range ips.Items { - ip.Status.State = v1alpha1.ProcessingIPState + ip.Status.State = v1alpha1.IPStatePending 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) diff --git a/internal/webhook/v1alpha1/subnet_webhook.go b/internal/webhook/v1alpha1/subnet_webhook.go index 963db50..3adc0a6 100644 --- a/internal/webhook/v1alpha1/subnet_webhook.go +++ b/internal/webhook/v1alpha1/subnet_webhook.go @@ -60,7 +60,7 @@ func SetupSubnetWebhookWithManager(mgr ctrl.Manager) error { } state := ip.Status.State parentSubnet := ip.Spec.Subnet.Name - if state != v1alpha1.FinishedIPState { + if state != v1alpha1.IPStateAllocated { return nil } return []string{parentSubnet} diff --git a/internal/webhook/v1alpha1/subnet_webhook_test.go b/internal/webhook/v1alpha1/subnet_webhook_test.go index 2ab50b7..a0cfd3a 100644 --- a/internal/webhook/v1alpha1/subnet_webhook_test.go +++ b/internal/webhook/v1alpha1/subnet_webhook_test.go @@ -581,7 +581,7 @@ var _ = Describe("Subnet webhook", func() { return err == nil }, Timeout, Interval).Should(BeTrue()) - childIP.Status.State = v1alpha1.FinishedIPState + childIP.Status.State = v1alpha1.IPStateAllocated Expect(k8sClient.Status().Update(ctx, &childIP)).Should(Succeed()) Eventually(func() bool { childIPsMatchingFields := client.MatchingFields{