Skip to content

Commit b2c5357

Browse files
authored
Verify cluster name in remove cluster call (#3715)
* Verify cluster name in remove cluster call
1 parent 661880f commit b2c5357

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

service/frontend/operator_handler.go

+11
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,17 @@ func (h *OperatorHandlerImpl) RemoveRemoteCluster(
425425
scope, startTime := h.startRequestProfile(metrics.OperatorRemoveRemoteClusterScope)
426426
defer func() { scope.Timer(metrics.ServiceLatency.GetMetricName()).Record(time.Since(startTime)) }()
427427

428+
var isClusterNameExist bool
429+
for clusterName := range h.clusterMetadata.GetAllClusterInfo() {
430+
if clusterName == request.GetClusterName() {
431+
isClusterNameExist = true
432+
break
433+
}
434+
}
435+
if !isClusterNameExist {
436+
return nil, serviceerror.NewNotFound("The cluster to be deleted cannot be found in clusters cache.")
437+
}
438+
428439
if err := h.clusterMetadataManager.DeleteClusterMetadata(
429440
ctx,
430441
&persistence.DeleteClusterMetadataRequest{ClusterName: request.GetClusterName()},

service/frontend/operator_handler_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ func (s *operatorHandlerSuite) Test_DeleteNamespace() {
469469

470470
func (s *operatorHandlerSuite) Test_RemoveRemoteCluster_Success() {
471471
var clusterName = "cluster"
472+
s.mockResource.ClusterMetadata.EXPECT().GetAllClusterInfo().Return(map[string]cluster.ClusterInformation{clusterName: {}})
472473
s.mockResource.ClusterMetadataMgr.EXPECT().DeleteClusterMetadata(
473474
gomock.Any(),
474475
&persistence.DeleteClusterMetadataRequest{ClusterName: clusterName},
@@ -480,6 +481,7 @@ func (s *operatorHandlerSuite) Test_RemoveRemoteCluster_Success() {
480481

481482
func (s *operatorHandlerSuite) Test_RemoveRemoteCluster_Error() {
482483
var clusterName = "cluster"
484+
s.mockResource.ClusterMetadata.EXPECT().GetAllClusterInfo().Return(map[string]cluster.ClusterInformation{clusterName: {}})
483485
s.mockResource.ClusterMetadataMgr.EXPECT().DeleteClusterMetadata(
484486
gomock.Any(),
485487
&persistence.DeleteClusterMetadataRequest{ClusterName: clusterName},

0 commit comments

Comments
 (0)