From 5ee5f1df42aa778c2ad2fb0142147ce7ad632e59 Mon Sep 17 00:00:00 2001 From: Anton Nikiforov Date: Thu, 7 Mar 2024 14:22:52 +0300 Subject: [PATCH] [#976] control: Introduce new method `RemoveChainLocalOverridesByTarget` Signed-off-by: Anton Nikiforov --- pkg/services/control/rpc.go | 54 ++++++++++++------- pkg/services/control/server/policy_engine.go | 25 +++++++++ pkg/services/control/service.pb.go | Bin 246837 -> 259222 bytes pkg/services/control/service.proto | 23 ++++++++ pkg/services/control/service_frostfs.pb.go | Bin 113136 -> 118675 bytes pkg/services/control/service_grpc.pb.go | Bin 39311 -> 41725 bytes 6 files changed, 82 insertions(+), 20 deletions(-) diff --git a/pkg/services/control/rpc.go b/pkg/services/control/rpc.go index b07b10274..f9397c128 100644 --- a/pkg/services/control/rpc.go +++ b/pkg/services/control/rpc.go @@ -8,26 +8,27 @@ import ( const serviceName = "control.ControlService" const ( - rpcHealthCheck = "HealthCheck" - rpcSetNetmapStatus = "SetNetmapStatus" - rpcDropObjects = "DropObjects" - rpcListShards = "ListShards" - rpcSetShardMode = "SetShardMode" - rpcSynchronizeTree = "SynchronizeTree" - rpcEvacuateShard = "EvacuateShard" - rpcStartShardEvacuation = "StartShardEvacuation" - rpcGetShardEvacuationStatus = "GetShardEvacuationStatus" - rpcResetShardEvacuationStatus = "ResetShardEvacuationStatus" - rpcStopShardEvacuation = "StopShardEvacuation" - rpcFlushCache = "FlushCache" - rpcDoctor = "Doctor" - rpcAddChainLocalOverride = "AddChainLocalOverride" - rpcGetChainLocalOverride = "GetChainLocalOverride" - rpcListChainLocalOverrides = "ListChainLocalOverrides" - rpcRemoveChainLocalOverride = "RemoveChainLocalOverride" - rpcSealWriteCache = "SealWriteCache" - rpcListTargetsLocalOverrides = "ListTargetsLocalOverrides" - rpcDetachShards = "DetachShards" + rpcHealthCheck = "HealthCheck" + rpcSetNetmapStatus = "SetNetmapStatus" + rpcDropObjects = "DropObjects" + rpcListShards = "ListShards" + rpcSetShardMode = "SetShardMode" + rpcSynchronizeTree = "SynchronizeTree" + rpcEvacuateShard = "EvacuateShard" + rpcStartShardEvacuation = "StartShardEvacuation" + rpcGetShardEvacuationStatus = "GetShardEvacuationStatus" + rpcResetShardEvacuationStatus = "ResetShardEvacuationStatus" + rpcStopShardEvacuation = "StopShardEvacuation" + rpcFlushCache = "FlushCache" + rpcDoctor = "Doctor" + rpcAddChainLocalOverride = "AddChainLocalOverride" + rpcGetChainLocalOverride = "GetChainLocalOverride" + rpcListChainLocalOverrides = "ListChainLocalOverrides" + rpcRemoveChainLocalOverride = "RemoveChainLocalOverride" + rpcRemoveChainLocalOverridesByTarget = "RemoveChainLocalOverridesByTarget" + rpcSealWriteCache = "SealWriteCache" + rpcListTargetsLocalOverrides = "ListTargetsLocalOverrides" + rpcDetachShards = "DetachShards" ) // HealthCheck executes ControlService.HealthCheck RPC. @@ -295,6 +296,19 @@ func RemoveChainLocalOverride(cli *client.Client, req *RemoveChainLocalOverrideR return wResp.message, nil } +// RemoveChainLocalOverridesByTarget executes ControlService.RemoveChainLocalOverridesByTarget RPC. +func RemoveChainLocalOverridesByTarget(cli *client.Client, req *RemoveChainLocalOverridesByTargetRequest, opts ...client.CallOption) (*RemoveChainLocalOverridesByTargetResponse, error) { + wResp := newResponseWrapper[RemoveChainLocalOverridesByTargetResponse]() + wReq := &requestWrapper{m: req} + + err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceName, rpcRemoveChainLocalOverridesByTarget), wReq, wResp, opts...) + if err != nil { + return nil, err + } + + return wResp.message, nil +} + // SealWriteCache executes ControlService.SealWriteCache RPC. func SealWriteCache(cli *client.Client, req *SealWriteCacheRequest, opts ...client.CallOption) (*SealWriteCacheResponse, error) { wResp := newResponseWrapper[SealWriteCacheResponse]() diff --git a/pkg/services/control/server/policy_engine.go b/pkg/services/control/server/policy_engine.go index 4ea863f79..16b365b21 100644 --- a/pkg/services/control/server/policy_engine.go +++ b/pkg/services/control/server/policy_engine.go @@ -174,6 +174,31 @@ func (s *Server) RemoveChainLocalOverride(_ context.Context, req *control.Remove return resp, nil } +func (s *Server) RemoveChainLocalOverridesByTarget(_ context.Context, req *control.RemoveChainLocalOverridesByTargetRequest) (*control.RemoveChainLocalOverridesByTargetResponse, error) { + if err := s.isValidRequest(req); err != nil { + return nil, status.Error(codes.PermissionDenied, err.Error()) + } + + target, err := apeTarget(req.GetBody().GetTarget()) + if err != nil { + return nil, err + } + + if err = s.localOverrideStorage.LocalStorage().RemoveOverridesByTarget(apechain.Ingress, target); err != nil { + if code := getCodeByLocalStorageErr(err); code != codes.NotFound { + return nil, status.Error(code, err.Error()) + } + } + resp := &control.RemoveChainLocalOverridesByTargetResponse{ + Body: &control.RemoveChainLocalOverridesByTargetResponse_Body{}, + } + err = SignMessage(s.key, resp) + if err != nil { + return nil, status.Error(codes.Internal, err.Error()) + } + return resp, nil +} + func (s *Server) ListTargetsLocalOverrides(_ context.Context, req *control.ListTargetsLocalOverridesRequest) (*control.ListTargetsLocalOverridesResponse, error) { if err := s.isValidRequest(req); err != nil { return nil, status.Error(codes.PermissionDenied, err.Error()) diff --git a/pkg/services/control/service.pb.go b/pkg/services/control/service.pb.go index 5866197672f36e5add62a70ade224728a481486c..345110bab826c0f281abf10407d0a3fc5c3e7ef5 100644 GIT binary patch delta 10840 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 GGyiYg*&QVS delta 9116 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 diff --git a/pkg/services/control/service.proto b/pkg/services/control/service.proto index 8501e952f..04ea62e0e 100644 --- a/pkg/services/control/service.proto +++ b/pkg/services/control/service.proto @@ -60,6 +60,9 @@ service ControlService { // Remove local access policy engine overrides stored in the node by chaind id. rpc RemoveChainLocalOverride (RemoveChainLocalOverrideRequest) returns (RemoveChainLocalOverrideResponse); + // Remove local access policy engine overrides stored in the node by chaind id. + rpc RemoveChainLocalOverridesByTarget (RemoveChainLocalOverridesByTargetRequest) returns (RemoveChainLocalOverridesByTargetResponse); + // List targets of the local APE overrides stored in the node. rpc ListTargetsLocalOverrides (ListTargetsLocalOverridesRequest) returns (ListTargetsLocalOverridesResponse); @@ -592,6 +595,26 @@ message RemoveChainLocalOverrideResponse { Signature signature = 2; } +message RemoveChainLocalOverridesByTargetRequest { + message Body { + // Target for which the overrides are applied. + ChainTarget target = 1; + } + + Body body = 1; + + Signature signature = 2; +} + +message RemoveChainLocalOverridesByTargetResponse { + message Body { + } + + Body body = 1; + + Signature signature = 2; +} + message SealWriteCacheRequest { // Request body structure. message Body { diff --git a/pkg/services/control/service_frostfs.pb.go b/pkg/services/control/service_frostfs.pb.go index b90749269d07b5b821f47929c2a7570f74b99575..9d8d6376c9ad886d52d3a8aaf5a703fd43f9b24d 100644 GIT binary patch delta 328 zcmezHnQiiX_J%EtmEF_d*E33R7CTjjBo?KomP{5D3z_WDEIFOmgpqT*ofqRo#_0uZ z$SS4>Rxm!A4wPY^e%^<%A5H(}k4?r*XgW4Gx=dl3F58K0%H+n|chR&?E{w~Y{;LjI z)%1t!8IPeUn|@G((S7@VPE40gR#ZNTrg*y|6Qdc^^ne;hF@ztt=d&s27t5yd5f1Ir2!R_nQ2Xul|Hw;p#j$|$e|4` diff --git a/pkg/services/control/service_grpc.pb.go b/pkg/services/control/service_grpc.pb.go index ad33e330ae071e5b85ff92d35d05dc626c3ee745..95264fcd3edfb6b803d82f58ae8e3fc0a751049e 100644 GIT binary patch delta 702 zcmeC*%=Gst(}rxO$&y@3liQfwCmXP{PgdZPp8SHz8z`nc*`L`BEVltl3$l2?)s(P+ z)F@59#o{^n9W(pn{VdXx?N|dQ2e7bD&SsLHyplC!@_J78$$4zjlO@=~CckG^p4`Re z2iEhM4P>tJa0_o4<3)$#za@NXi-G z#3nb$u}ofPh-~acF_p=$P(%WGMK`aP2#}gwgCb0k@