diff --git a/cloud/blockstore/apps/client/lib/factory.cpp b/cloud/blockstore/apps/client/lib/factory.cpp index 8200af9e99..747cdf7140 100644 --- a/cloud/blockstore/apps/client/lib/factory.cpp +++ b/cloud/blockstore/apps/client/lib/factory.cpp @@ -31,7 +31,6 @@ #include "query_available_storage.h" #include "read_blocks.h" #include "refresh_endpoint.h" -#include "resize_device.h" #include "resize_volume.h" #include "resume_device.h" #include "start_endpoint.h" @@ -85,7 +84,6 @@ struct THandlerFactory { "queryavailablestorage", NewQueryAvailableStorageCommand }, { "readblocks", NewReadBlocksCommand }, { "refreshendpoint", NewRefreshEndpointCommand }, - { "resizedevice", NewResizeDeviceCommand }, { "resizevolume", NewResizeVolumeCommand }, { "restorevolume", NewRestoreVolumeCommand }, { "resumedevice", NewResumeDeviceCommand }, diff --git a/cloud/blockstore/apps/client/lib/resize_device.cpp b/cloud/blockstore/apps/client/lib/resize_device.cpp deleted file mode 100644 index 85c845d6be..0000000000 --- a/cloud/blockstore/apps/client/lib/resize_device.cpp +++ /dev/null @@ -1,89 +0,0 @@ -#include "resize_device.h" - - -#include -#include -#include -#include -#include - -#include - -namespace NCloud::NBlockStore::NClient { - -namespace { - -//////////////////////////////////////////////////////////////////////////////// - -class TResizeDeviceCommand final - : public TCommand -{ -private: - TString UnixSocketPath; - ui64 DeviceSizeInBytes = 0; - -public: - TResizeDeviceCommand(IBlockStorePtr client) - : TCommand(std::move(client)) - { - Opts.AddLongOption( - "socket", - "Unix socket path of the endpoint associated with the device " - "being resized") - .RequiredArgument("STR") - .Required() - .StoreResult(&UnixSocketPath); - - Opts.AddLongOption("device-size", "Device size in bytes") - .RequiredArgument("NUM") - .Required() - .StoreResult(&DeviceSizeInBytes); - } - -protected: - bool DoExecute() override - { - auto& input = GetInputStream(); - auto& output = GetOutputStream(); - - STORAGE_DEBUG("Reading ResizeDevice request"); - auto request = std::make_shared(); - if (Proto) { - ParseFromTextFormat(input, *request); - } else { - request->SetUnixSocketPath(UnixSocketPath); - request->SetDeviceSizeInBytes(DeviceSizeInBytes); - } - - STORAGE_DEBUG("Sending ResizeDevice request"); - const auto requestId = GetRequestId(*request); - auto result = WaitFor(ClientEndpoint->ResizeDevice( - MakeIntrusive(requestId), - std::move(request))); - - STORAGE_DEBUG("Received ResizeDevice response"); - if (Proto) { - SerializeToTextFormat(result, output); - return true; - } - - if (HasError(result)) { - output << FormatError(result.GetError()) << Endl; - return false; - } - - output << "OK" << Endl; - return true; - } -}; - -} // namespace - -//////////////////////////////////////////////////////////////////////////////// - -TCommandPtr NewResizeDeviceCommand(IBlockStorePtr client) -{ - return MakeIntrusive(std::move(client)); -} - -} // namespace NCloud::NBlockStore::NClient diff --git a/cloud/blockstore/apps/client/lib/resize_device.h b/cloud/blockstore/apps/client/lib/resize_device.h deleted file mode 100644 index 51b0ba5401..0000000000 --- a/cloud/blockstore/apps/client/lib/resize_device.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "command.h" - -namespace NCloud::NBlockStore::NClient { - -//////////////////////////////////////////////////////////////////////////////// - -TCommandPtr NewResizeDeviceCommand(IBlockStorePtr client); - -} // namespace NCloud::NBlockStore::NClient diff --git a/cloud/blockstore/apps/client/lib/ya.make b/cloud/blockstore/apps/client/lib/ya.make index e4f250d94c..8500e57097 100644 --- a/cloud/blockstore/apps/client/lib/ya.make +++ b/cloud/blockstore/apps/client/lib/ya.make @@ -38,7 +38,6 @@ SRCS( query_available_storage.cpp read_blocks.cpp refresh_endpoint.cpp - resize_device.cpp resize_volume.cpp resume_device.cpp start_endpoint.cpp diff --git a/cloud/blockstore/libs/endpoints/endpoint_manager.cpp b/cloud/blockstore/libs/endpoints/endpoint_manager.cpp index 751bdbfb1d..017656b256 100644 --- a/cloud/blockstore/libs/endpoints/endpoint_manager.cpp +++ b/cloud/blockstore/libs/endpoints/endpoint_manager.cpp @@ -1606,25 +1606,6 @@ void TEndpointManager::DetachFileDevice(const TString& device) } } -NProto::TResizeDeviceResponse TEndpointManager::DoResizeDevice( - TCallContextPtr ctx, - std::shared_ptr request) -{ - Y_UNUSED(ctx); - const auto& socketPath = request->GetUnixSocketPath(); - const auto& deviceSize = request->GetDeviceSizeInBytes(); - - auto it = Endpoints.find(socketPath); - if (it == Endpoints.end()) { - return TErrorResponse( - E_NOT_FOUND, - TStringBuilder() - << "endpoint " << socketPath.Quote() << " not started"); - } - - return TErrorResponse(it->second.Device->Resize(deviceSize).GetValueSync()); -} - //////////////////////////////////////////////////////////////////////////////// TFuture TRestoringClient::StartEndpoint( diff --git a/cloud/blockstore/libs/endpoints/endpoint_manager_ut.cpp b/cloud/blockstore/libs/endpoints/endpoint_manager_ut.cpp index 141a02ced6..e5a5237f9b 100644 --- a/cloud/blockstore/libs/endpoints/endpoint_manager_ut.cpp +++ b/cloud/blockstore/libs/endpoints/endpoint_manager_ut.cpp @@ -498,16 +498,6 @@ TFuture ListEndpoints( std::make_shared()); } -TFuture ResizeDevice( - IEndpointManager& endpointManager, const TString& unixSocketPath, ui64 deviceSize) -{ - auto request = std::make_shared(); - request->SetUnixSocketPath(unixSocketPath); - request->SetDeviceSizeInBytes(deviceSize); - return endpointManager.ResizeDevice( - MakeIntrusive(), request); -} - } // namespace //////////////////////////////////////////////////////////////////////////////// @@ -1846,61 +1836,6 @@ Y_UNIT_TEST_SUITE(TEndpointManagerTest) UNIT_ASSERT(!HasError(response)); } } - - Y_UNIT_TEST(ShouldResizeDevice) - { - TTempDir dir; - auto socketPath = dir.Path() / "testSocket"; - TString diskId = "testDiskId"; - auto ipcType = NProto::IPC_GRPC; - - TBootstrap bootstrap; - TMap mountedVolumes; - bootstrap.Service = CreateTestService(mountedVolumes); - - auto grpcListener = - CreateSocketEndpointListener(bootstrap.Logging, 16, MODE0660); - grpcListener->SetClientStorageFactory(CreateClientStorageFactoryStub()); - bootstrap.EndpointListeners = {{NProto::IPC_GRPC, grpcListener}}; - - auto manager = CreateEndpointManager(bootstrap); - bootstrap.Start(); - - NProto::TStartEndpointRequest request; - SetDefaultHeaders(request); - request.SetUnixSocketPath(socketPath.GetPath()); - request.SetDiskId(diskId); - request.SetClientId(TestClientId); - request.SetIpcType(ipcType); - - socketPath.DeleteIfExists(); - UNIT_ASSERT(!socketPath.Exists()); - - { - auto future = StartEndpoint(*manager, request); - auto response = future.GetValue(TDuration::Seconds(5)); - UNIT_ASSERT_C(!HasError(response), response.GetError()); - } - - const auto deviceSize = 1000u; - { - auto future = - ResizeDevice(*manager, "invalid/path/socket", deviceSize); - auto response = future.GetValue(TDuration::Seconds(5)); - UNIT_ASSERT(HasError(response)); - const auto& resizeError = response.GetError(); - UNIT_ASSERT_EQUAL_C( - E_NOT_FOUND, - resizeError.GetCode(), - resizeError.GetMessage()); - } - - { - auto future = ResizeDevice(*manager, socketPath, deviceSize); - auto response = future.GetValue(TDuration::Seconds(5)); - UNIT_ASSERT_C(!HasError(response), response.GetError()); - } - } } } // namespace NCloud::NBlockStore::NServer diff --git a/cloud/blockstore/libs/service/auth_scheme.cpp b/cloud/blockstore/libs/service/auth_scheme.cpp index 12266383ae..196bd8149b 100644 --- a/cloud/blockstore/libs/service/auth_scheme.cpp +++ b/cloud/blockstore/libs/service/auth_scheme.cpp @@ -122,7 +122,6 @@ TPermissionList GetRequestPermissions(EBlockStoreRequest requestType) case EBlockStoreRequest::StopEndpoint: case EBlockStoreRequest::KickEndpoint: case EBlockStoreRequest::RefreshEndpoint: - case EBlockStoreRequest::ResizeDevice: return CreatePermissionList({EPermission::Update}); case EBlockStoreRequest::ListEndpoints: diff --git a/cloud/blockstore/libs/service/request.h b/cloud/blockstore/libs/service/request.h index 89f908fd83..872254e3f5 100644 --- a/cloud/blockstore/libs/service/request.h +++ b/cloud/blockstore/libs/service/request.h @@ -99,7 +99,6 @@ using TWriteBlocksLocalResponse = TWriteBlocksResponse; xxx(ListKeyrings, __VA_ARGS__) \ xxx(DescribeEndpoint, __VA_ARGS__) \ xxx(RefreshEndpoint, __VA_ARGS__) \ - xxx(ResizeDevice, __VA_ARGS__) \ // BLOCKSTORE_ENDPOINT_SERVICE #define BLOCKSTORE_GRPC_SERVICE(xxx, ...) \ diff --git a/cloud/blockstore/libs/service/request_helpers.h b/cloud/blockstore/libs/service/request_helpers.h index 57a1d826ae..65536a657d 100644 --- a/cloud/blockstore/libs/service/request_helpers.h +++ b/cloud/blockstore/libs/service/request_helpers.h @@ -314,7 +314,6 @@ constexpr bool IsControlRequest(EBlockStoreRequest requestType) case EBlockStoreRequest::DescribeEndpoint: case EBlockStoreRequest::RefreshEndpoint: case EBlockStoreRequest::QueryAgentsInfo: - case EBlockStoreRequest::ResizeDevice: return true; case EBlockStoreRequest::MAX: Y_DEBUG_ABORT_UNLESS(false); diff --git a/cloud/blockstore/public/api/grpc/service.proto b/cloud/blockstore/public/api/grpc/service.proto index d888489256..b64dd0033d 100644 --- a/cloud/blockstore/public/api/grpc/service.proto +++ b/cloud/blockstore/public/api/grpc/service.proto @@ -254,13 +254,6 @@ service TBlockStoreService }; } - rpc ResizeDevice(TResizeDeviceRequest) returns (TResizeDeviceResponse) { - option (google.api.http) = { - post: "/resize_device" - body: "*" - }; - } - // // Disk Registry config. // diff --git a/cloud/blockstore/public/api/protos/endpoints.proto b/cloud/blockstore/public/api/protos/endpoints.proto index 1d208d4617..6799adccae 100644 --- a/cloud/blockstore/public/api/protos/endpoints.proto +++ b/cloud/blockstore/public/api/protos/endpoints.proto @@ -333,25 +333,6 @@ message TListProxyEndpointsResponse repeated TProxyEndpoint Endpoints = 2; } -message TResizeDeviceRequest -{ - // Optional request headers. - THeaders Headers = 1; - - // Unix socket path of the endpoint associated with the device being resized - string UnixSocketPath = 2; - - // New size in bytes. - uint64 DeviceSizeInBytes = 3; -} - -message TResizeDeviceResponse -{ - // Optional error, set only if error happened. - NCloud.NProto.TError Error = 1; -} - - message TResizeProxyDeviceRequest { // Optional request headers. diff --git a/cloud/blockstore/public/sdk/go/client/discovery.go b/cloud/blockstore/public/sdk/go/client/discovery.go index 59050598a7..ee852b83be 100644 --- a/cloud/blockstore/public/sdk/go/client/discovery.go +++ b/cloud/blockstore/public/sdk/go/client/discovery.go @@ -737,14 +737,6 @@ func (client *discoveryClient) RefreshEndpoint( panic("not implemented") } -func (client *discoveryClient) ResizeDevice( - ctx context.Context, - req *protos.TResizeDeviceRequest, -) (*protos.TResizeDeviceResponse, error) { - - panic("not implemented") -} - func (client *discoveryClient) CreateCheckpoint( ctx context.Context, req *protos.TCreateCheckpointRequest, diff --git a/cloud/blockstore/public/sdk/go/client/durable.go b/cloud/blockstore/public/sdk/go/client/durable.go index 150445a676..1545587e42 100644 --- a/cloud/blockstore/public/sdk/go/client/durable.go +++ b/cloud/blockstore/public/sdk/go/client/durable.go @@ -704,22 +704,6 @@ func (client *durableClient) QueryAgentsInfo( return resp.(*protos.TQueryAgentsInfoResponse), err } -func (client *durableClient) ResizeDevice( - ctx context.Context, - req *protos.TResizeDeviceRequest, -) (*protos.TResizeDeviceResponse, error) { - - resp, err := client.executeRequest( - ctx, - req, - func(ctx context.Context) (response, error) { - return client.impl.ResizeDevice(ctx, req) - }, - ) - - return resp.(*protos.TResizeDeviceResponse), err -} - //////////////////////////////////////////////////////////////////////////////// type DurableClientOpts struct { diff --git a/cloud/blockstore/public/sdk/go/client/grpc.go b/cloud/blockstore/public/sdk/go/client/grpc.go index e15feb7452..15d96e3e9b 100644 --- a/cloud/blockstore/public/sdk/go/client/grpc.go +++ b/cloud/blockstore/public/sdk/go/client/grpc.go @@ -848,24 +848,6 @@ func (client *grpcClient) QueryAgentsInfo( return resp.(*protos.TQueryAgentsInfoResponse), err } -func (client *grpcClient) ResizeDevice( - ctx context.Context, - req *protos.TResizeDeviceRequest, -) (*protos.TResizeDeviceResponse, error) { - - if req.Headers == nil { - req.Headers = &protos.THeaders{} - } - resp, err := client.executeRequest( - ctx, - req, - func(ctx context.Context) (response, error) { - return client.impl.ResizeDevice(ctx, req) - }) - - return resp.(*protos.TResizeDeviceResponse), err -} - //////////////////////////////////////////////////////////////////////////////// type GrpcClientOpts struct { diff --git a/cloud/blockstore/public/sdk/go/client/iface.go b/cloud/blockstore/public/sdk/go/client/iface.go index dc3aaccd25..e735eef50a 100644 --- a/cloud/blockstore/public/sdk/go/client/iface.go +++ b/cloud/blockstore/public/sdk/go/client/iface.go @@ -259,13 +259,4 @@ type ClientIface interface { ctx context.Context, req *protos.TQueryAgentsInfoRequest, ) (*protos.TQueryAgentsInfoResponse, error) - - // - // Resize NBD Device. - // - - ResizeDevice( - ctx context.Context, - req *protos.TResizeDeviceRequest, - ) (*protos.TResizeDeviceResponse, error) } diff --git a/cloud/blockstore/public/sdk/go/client/test_client.go b/cloud/blockstore/public/sdk/go/client/test_client.go index b7d9e99e7c..22a2981ebf 100644 --- a/cloud/blockstore/public/sdk/go/client/test_client.go +++ b/cloud/blockstore/public/sdk/go/client/test_client.go @@ -45,7 +45,6 @@ type alterPlacementGroupMembershipHandlerFunc func(ctx context.Context, req *pro type listPlacementGroupsHandlerFunc func(ctx context.Context, req *protos.TListPlacementGroupsRequest) (*protos.TListPlacementGroupsResponse, error) type cmsActionHandlerFunc func(ctx context.Context, req *protos.TCmsActionRequest) (*protos.TCmsActionResponse, error) type queryAgentsInfoHandler func(ctx context.Context, req *protos.TQueryAgentsInfoRequest) (*protos.TQueryAgentsInfoResponse, error) -type resizeDeviceHandler func(ctx context.Context, req *protos.TResizeDeviceRequest) (*protos.TResizeDeviceResponse, error) type closeHandlerFunc func() error //////////////////////////////////////////////////////////////////////////////// @@ -89,7 +88,6 @@ type testClient struct { ListPlacementGroupsHandler listPlacementGroupsHandlerFunc CmsActionHandler cmsActionHandlerFunc QueryAgentsInfoHandler queryAgentsInfoHandler - ResizeDeviceHandler resizeDeviceHandler CloseHandlerFunc closeHandlerFunc } @@ -556,15 +554,3 @@ func (client *testClient) QueryAgentsInfo( return &protos.TQueryAgentsInfoResponse{}, nil } - -func (client *testClient) ResizeDevice( - ctx context.Context, - req *protos.TResizeDeviceRequest, -) (*protos.TResizeDeviceResponse, error) { - - if client.ResizeDeviceHandler != nil { - return client.ResizeDeviceHandler(ctx, req) - } - - return &protos.TResizeDeviceResponse{}, nil -} diff --git a/cloud/blockstore/tools/csi_driver/internal/driver/mocks/nbs_client_mock.go b/cloud/blockstore/tools/csi_driver/internal/driver/mocks/nbs_client_mock.go index c50e5c6144..f32a0ecedb 100644 --- a/cloud/blockstore/tools/csi_driver/internal/driver/mocks/nbs_client_mock.go +++ b/cloud/blockstore/tools/csi_driver/internal/driver/mocks/nbs_client_mock.go @@ -361,15 +361,6 @@ func (c *NbsClientMock) QueryAgentsInfo( return args.Get(0).(*protos.TQueryAgentsInfoResponse), args.Error(1) } -func (c *NbsClientMock) ResizeDevice( - ctx context.Context, - req *protos.TResizeDeviceRequest, -) (*protos.TResizeDeviceResponse, error) { - - args := c.Called(ctx, req) - return args.Get(0).(*protos.TResizeDeviceResponse), args.Error(1) -} - //////////////////////////////////////////////////////////////////////////////// func NewNbsClientMock() *NbsClientMock { diff --git a/cloud/blockstore/tools/http_proxy/main_test.go b/cloud/blockstore/tools/http_proxy/main_test.go index 32ba916289..c0a21e205d 100644 --- a/cloud/blockstore/tools/http_proxy/main_test.go +++ b/cloud/blockstore/tools/http_proxy/main_test.go @@ -521,16 +521,6 @@ func (s *mockBlockstoreServer) QueryAgentsInfo( return res, args.Error(1) } -func (s *mockBlockstoreServer) ResizeDevice( - ctx context.Context, - req *blockstore_protos.TResizeDeviceRequest, -) (*blockstore_protos.TResizeDeviceResponse, error) { - - args := s.Called(ctx, req) - res, _ := args.Get(0).(*blockstore_protos.TResizeDeviceResponse) - return res, args.Error(1) -} - //////////////////////////////////////////////////////////////////////////////// func runMockBlockstoreServer( diff --git a/cloud/blockstore/tools/testing/chaos-monkey/monkey_test.go b/cloud/blockstore/tools/testing/chaos-monkey/monkey_test.go index f90caabea5..8e1f2e0ed9 100644 --- a/cloud/blockstore/tools/testing/chaos-monkey/monkey_test.go +++ b/cloud/blockstore/tools/testing/chaos-monkey/monkey_test.go @@ -320,14 +320,6 @@ func (n nbsService) QueryAgentsInfo( panic("implement me") } -func (n nbsService) ResizeDevice( - ctx context.Context, - request *protos.TResizeDeviceRequest, -) (*protos.TResizeDeviceResponse, error) { - //TODO implement me - panic("implement me") -} - func (n nbsService) ExecuteAction( ctx context.Context, request *protos.TExecuteActionRequest,