From b0ea66eb847730b4975cb89dd1b2616b3c7fd868 Mon Sep 17 00:00:00 2001 From: loomt Date: Wed, 21 Aug 2024 15:55:00 +0800 Subject: [PATCH] fix: simply fix panic when service ports changed (#7993) --- controllers/apps/transformer_cluster_service.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/controllers/apps/transformer_cluster_service.go b/controllers/apps/transformer_cluster_service.go index 258db31a696..77393d9ac84 100644 --- a/controllers/apps/transformer_cluster_service.go +++ b/controllers/apps/transformer_cluster_service.go @@ -321,6 +321,9 @@ func createOrUpdateService(ctx graph.TransformContext, dag *graph.DAG, graphCli func resolveServiceDefaultFields(obj, objCopy *corev1.ServiceSpec) { // TODO: how about the order changed? for i, port := range objCopy.Ports { + if i == len(obj.Ports) { + break + } // if the service type is NodePort or LoadBalancer, and the nodeport is not set, we should use the nodeport of the exist service if (objCopy.Type == corev1.ServiceTypeNodePort || objCopy.Type == corev1.ServiceTypeLoadBalancer) && port.NodePort == 0 && obj.Ports[i].NodePort != 0 { objCopy.Ports[i].NodePort = obj.Ports[i].NodePort