From 330517a3a06f02e29558d596d48fd052988af044 Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Tue, 7 Nov 2017 14:32:38 +0800 Subject: [PATCH] Return error instead of crashing apiserver when updating services with duplicate nodeports --- pkg/registry/core/service/rest.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/registry/core/service/rest.go b/pkg/registry/core/service/rest.go index 341411f73c1..41bb0c08fde 100644 --- a/pkg/registry/core/service/rest.go +++ b/pkg/registry/core/service/rest.go @@ -617,9 +617,8 @@ func (rs *REST) updateNodePorts(oldService, newService *api.Service, nodePortOp servicePort.NodePort = int32(nodePortNumber) nodePort.NodePort = servicePort.NodePort } - // Detect duplicate node ports; this should have been caught by validation, so we panic if containsNodePort(newNodePorts, nodePort) { - panic("duplicate node port") + return fmt.Errorf("duplicate nodePort: %v", nodePort) } newNodePorts = append(newNodePorts, nodePort) }