From b7106770d56acff357452de31f182dde8f5f75b0 Mon Sep 17 00:00:00 2001 From: Pulkit Jain Date: Wed, 21 Feb 2024 11:19:33 +0530 Subject: [PATCH] Record event when EgressIP remains unassigned Modified the code to record an event for case, when an egressIP is unassigned from a node and is not assigned to any other node. Signed-off-by: Pulkit Jain --- pkg/agent/controller/egress/egress_controller.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/agent/controller/egress/egress_controller.go b/pkg/agent/controller/egress/egress_controller.go index 382cf28fc4b..1303f8036ae 100644 --- a/pkg/agent/controller/egress/egress_controller.go +++ b/pkg/agent/controller/egress/egress_controller.go @@ -1168,10 +1168,16 @@ func (c *EgressController) uninstallEgress(egressName string, eState *egressStat return err } } + // Fetch the egress object to record the event. + egress, _ := c.egressLister.Get(egressName) // Unassign the Egress IP from the local Node if it was assigned by the agent. - if _, err := c.ipAssigner.UnassignIP(eState.egressIP); err != nil { + unassigned, err := c.ipAssigner.UnassignIP(eState.egressIP) + if err != nil { return err } + if unassigned { + c.record.Eventf(egress, corev1.EventTypeNormal, "IPUnassigned", "Unassigned Egress %s with IP %s from Node %s", egress.Name, eState.egressIP, c.nodeName) + } // Remove the Egress's state. c.deleteEgressState(egressName) return nil