diff options
author | Andrey Molotkov <molotkov-and@ydb.tech> | 2024-07-18 18:59:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-18 18:59:18 +0300 |
commit | a22a03fda39dcde10f66b73acb1c93016c0ccc57 (patch) | |
tree | 1679ba1e435b2fd02236d775fea19002b3ea0296 | |
parent | 095ec1273f6d61f19db05f15c3035170250dc3a9 (diff) | |
download | ydb-a22a03fda39dcde10f66b73acb1c93016c0ccc57.tar.gz |
Remove msgbus login method (#6523)
-rw-r--r-- | ydb/core/client/server/grpc_server.cpp | 1 | ||||
-rw-r--r-- | ydb/core/client/server/msgbus_server.cpp | 3 | ||||
-rw-r--r-- | ydb/core/client/server/msgbus_server.h | 1 | ||||
-rw-r--r-- | ydb/core/client/server/msgbus_server_login_request.cpp | 125 | ||||
-rw-r--r-- | ydb/core/client/server/ya.make | 1 | ||||
-rw-r--r-- | ydb/core/driver_lib/cli_base/cli_kicli.cpp | 27 | ||||
-rw-r--r-- | ydb/core/driver_lib/cli_base/ya.make | 3 | ||||
-rw-r--r-- | ydb/core/protos/grpc.proto | 2 | ||||
-rw-r--r-- | ydb/core/protos/msgbus.proto | 10 | ||||
-rw-r--r-- | ydb/public/lib/base/msgbus.h | 4 | ||||
-rw-r--r-- | ydb/public/lib/deprecated/client/grpc_client.cpp | 1 | ||||
-rw-r--r-- | ydb/public/lib/deprecated/client/grpc_client.h | 2 | ||||
-rw-r--r-- | ydb/public/lib/deprecated/kicli/kikimr.cpp | 2 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make | 12 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/commands/ya.make | 2 |
15 files changed, 35 insertions, 161 deletions
diff --git a/ydb/core/client/server/grpc_server.cpp b/ydb/core/client/server/grpc_server.cpp index d390115844..2626fa7cc5 100644 --- a/ydb/core/client/server/grpc_server.cpp +++ b/ydb/core/client/server/grpc_server.cpp @@ -453,7 +453,6 @@ void TGRpcService::SetupIncomingRequests() { ADD_ACTOR_REQUEST(DrainNode, TDrainNodeRequest, MTYPE_CLIENT_DRAIN_NODE) ADD_ACTOR_REQUEST(InterconnectDebug, TInterconnectDebug, MTYPE_CLIENT_INTERCONNECT_DEBUG) ADD_ACTOR_REQUEST(TestShardControl, TTestShardControlRequest, MTYPE_CLIENT_TEST_SHARD_CONTROL) - ADD_ACTOR_REQUEST(LoginRequest, TLoginRequest, MTYPE_CLIENT_LOGIN_REQUEST) // dynamic node registration ADD_REQUEST(RegisterNode, TNodeRegistrationRequest, TNodeRegistrationResponse, { diff --git a/ydb/core/client/server/msgbus_server.cpp b/ydb/core/client/server/msgbus_server.cpp index 0f420b6386..26c0990cf0 100644 --- a/ydb/core/client/server/msgbus_server.cpp +++ b/ydb/core/client/server/msgbus_server.cpp @@ -124,7 +124,6 @@ public: MTYPE(TBusFillNode) MTYPE(TBusDrainNode) MTYPE(TBusTestShardControlRequest) - MTYPE(TBusLoginRequest) #undef MTYPE } @@ -543,8 +542,6 @@ void TMessageBusServer::OnMessage(TBusMessageContext &msg) { return ClientActorRequest(CreateMessageBusConsoleRequest, msg); case MTYPE_CLIENT_TEST_SHARD_CONTROL: return ClientActorRequest(CreateMessageBusTestShardControl, msg); - case MTYPE_CLIENT_LOGIN_REQUEST: - return ClientActorRequest(CreateMessageBusLoginRequest, msg); default: return UnknownMessage(msg); } diff --git a/ydb/core/client/server/msgbus_server.h b/ydb/core/client/server/msgbus_server.h index 9a57ede2c7..4acd4cf956 100644 --- a/ydb/core/client/server/msgbus_server.h +++ b/ydb/core/client/server/msgbus_server.h @@ -297,7 +297,6 @@ IActor* CreateMessageBusSqsRequest(TBusMessageContext &msg); IActor* CreateMessageBusInterconnectDebug(TBusMessageContext& msg); IActor* CreateMessageBusConsoleRequest(TBusMessageContext &msg); IActor* CreateMessageBusTestShardControl(TBusMessageContext &msg); -IActor* CreateMessageBusLoginRequest(TBusMessageContext &msg); TBusResponse* ProposeTransactionStatusToResponse(EResponseStatus status, const NKikimrTxUserProxy::TEvProposeTransactionStatus &result); diff --git a/ydb/core/client/server/msgbus_server_login_request.cpp b/ydb/core/client/server/msgbus_server_login_request.cpp deleted file mode 100644 index 5f623e49bc..0000000000 --- a/ydb/core/client/server/msgbus_server_login_request.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include "msgbus_server.h" -#include <ydb/core/base/tablet_pipe.h> -#include <ydb/core/tx/schemeshard/schemeshard.h> -#include <ydb/core/tx/scheme_cache/scheme_cache.h> -#include <ydb/public/api/protos/ydb_auth.pb.h> - -#include <ydb/core/protos/auth.pb.h> - -namespace NKikimr { -namespace NMsgBusProxy { - -using namespace NSchemeShard; - -class TMessageBusLoginRequest : public TActorBootstrapped<TMessageBusLoginRequest>, public TMessageBusSessionIdentHolder { - THolder<TBusLoginRequest> Request; - THolder<TEvSchemeShard::TEvLoginResult> Result; - TDuration Timeout = TDuration::MilliSeconds(60000); - TActorId PipeClient; - NMsgBusProxy::EResponseStatus Status; -public: - TMessageBusLoginRequest(TBusMessageContext& msg) - : TMessageBusSessionIdentHolder(msg) - , Request(static_cast<TBusLoginRequest*>(msg.ReleaseMessage())) - { - } - - NTabletPipe::TClientConfig GetPipeClientConfig() { - NTabletPipe::TClientConfig clientConfig; - clientConfig.RetryPolicy = {.RetryLimitCount = 3}; - return clientConfig; - } - - void Bootstrap() { - TString domainName = "/" + AppData()->DomainsInfo->GetDomain()->Name; - TString path = AppData()->AuthConfig.GetDomainLoginOnly() ? domainName : TString();//Request.Get()->GetRecord()->GetDatabaseName(); - auto request = MakeHolder<NSchemeCache::TSchemeCacheNavigate>(); - request->DatabaseName = path; - auto& entry = request->ResultSet.emplace_back(); - entry.Operation = NSchemeCache::TSchemeCacheNavigate::OpPath; - entry.Path = ::NKikimr::SplitPath(path); - entry.RedirectRequired = false; - Send(MakeSchemeCacheID(), new TEvTxProxySchemeCache::TEvNavigateKeySet(request.Release())); - - Become(&TThis::StateWork, Timeout, new TEvents::TEvWakeup()); - } - - void HandleTimeout() { - Status = MSTATUS_TIMEOUT; - ReplyAndPassAway(); - } - - void HandleNavigate(TEvTxProxySchemeCache::TEvNavigateKeySetResult::TPtr& ev) { - const NSchemeCache::TSchemeCacheNavigate* response = ev->Get()->Request.Get(); - if (response->ResultSet.size() == 1) { - const NSchemeCache::TSchemeCacheNavigate::TEntry& entry = response->ResultSet.front(); - ui64 schemeShardTabletId = entry.DomainInfo->ExtractSchemeShard(); - IActor* pipe = NTabletPipe::CreateClient(SelfId(), schemeShardTabletId, GetPipeClientConfig()); - PipeClient = RegisterWithSameMailbox(pipe); - THolder<TEvSchemeShard::TEvLogin> request = MakeHolder<TEvSchemeShard::TEvLogin>(); - request.Get()->Record.SetUser(Request.Get()->Record.GetUser()); - request.Get()->Record.SetPassword(Request.Get()->Record.GetPassword()); - NTabletPipe::SendData(SelfId(), PipeClient, request.Release()); - return; - } - Status = MSTATUS_ERROR; - ReplyAndPassAway(); - } - - void HandleResult(TEvSchemeShard::TEvLoginResult::TPtr& ev) { - Status = MSTATUS_OK; - Result = ev->Release(); - ReplyAndPassAway(); - } - - void HandleUndelivered(TEvents::TEvUndelivered::TPtr&) { - Status = MSTATUS_NOTREADY; - ReplyAndPassAway(); - } - - void HandleConnect(TEvTabletPipe::TEvClientConnected::TPtr& ev) { - if (ev->Get()->Status != NKikimrProto::OK) { - Status = MSTATUS_NOTREADY; - ReplyAndPassAway(); - } - } - - STATEFN(StateWork) { - switch (ev->GetTypeRewrite()) { - hFunc(TEvents::TEvUndelivered, HandleUndelivered); - hFunc(TEvTabletPipe::TEvClientConnected, HandleConnect); - hFunc(TEvTxProxySchemeCache::TEvNavigateKeySetResult, HandleNavigate); - hFunc(TEvSchemeShard::TEvLoginResult, HandleResult); - cFunc(TEvents::TSystem::Wakeup, HandleTimeout); - } - } - - void ReplyAndPassAway() { - if (PipeClient) { - NTabletPipe::CloseClient(SelfId(), PipeClient); - } - THolder<TBusResponse> response(new TBusResponse()); - if (Result) { - const NKikimrScheme::TEvLoginResult& record = Result->Record; - if (record.error()) { - response->Record.SetErrorReason(record.error()); - response->Record.SetStatus(MSTATUS_ERROR); - Status = MSTATUS_ERROR; - } - if (record.token()) { - response->Record.SetUserToken(record.token()); - response->Record.SetStatus(MSTATUS_OK); - Status = MSTATUS_OK; - } - } - SendReplyMove(response.Release()); - PassAway(); - } -}; - -IActor* CreateMessageBusLoginRequest(TBusMessageContext& msg) { - return new TMessageBusLoginRequest(msg); -} - -} -} diff --git a/ydb/core/client/server/ya.make b/ydb/core/client/server/ya.make index 12a6f6e0a2..9c3c4201b3 100644 --- a/ydb/core/client/server/ya.make +++ b/ydb/core/client/server/ya.make @@ -28,7 +28,6 @@ SRCS( msgbus_server_local_enumerate_tablets.cpp msgbus_server_local_minikql.cpp msgbus_server_local_scheme_tx.cpp - msgbus_server_login_request.cpp msgbus_server_node_registration.cpp msgbus_server_proxy.cpp msgbus_server_proxy.h diff --git a/ydb/core/driver_lib/cli_base/cli_kicli.cpp b/ydb/core/driver_lib/cli_base/cli_kicli.cpp index d430fa9e72..55b2409fa9 100644 --- a/ydb/core/driver_lib/cli_base/cli_kicli.cpp +++ b/ydb/core/driver_lib/cli_base/cli_kicli.cpp @@ -1,3 +1,7 @@ +#include <ydb/public/sdk/cpp/client/ydb_driver/driver.h> +#include <ydb/public/sdk/cpp/client/ydb_types/credentials/credentials.h> +#include <ydb/public/lib/ydb_cli/commands/ydb_sdk_core_access.h> +#include <ydb/core/driver_lib/cli_config_base/config_base.h> #include "cli_kicli.h" namespace NKikimr { @@ -67,17 +71,22 @@ int InvokeThroughKikimr(TClientCommand::TConfig& config, std::function<int(NClie } if (!config.StaticCredentials.User.empty()) { - TAutoPtr<NMsgBusProxy::TBusLoginRequest> request = new NMsgBusProxy::TBusLoginRequest(); - request.Get()->Record.SetUser(config.StaticCredentials.User); - request.Get()->Record.SetPassword(config.StaticCredentials.Password); - NClient::TResult result = kikimr.ExecuteRequest(request.Release()).GetValueSync(); - if (result.GetStatus() == NMsgBusProxy::MSTATUS_OK) { - kikimr.SetSecurityToken(result.GetResponse<NMsgBusProxy::TBusResponse>().Record.GetUserToken()); - config.SecurityToken = result.GetResponse<NMsgBusProxy::TBusResponse>().Record.GetUserToken(); - } else { - Cerr << result.GetError().GetMessage() << Endl; + NYdb::TDriverConfig driverConfig; + driverConfig.SetEndpoint(TCommandConfig::ParseServerAddress(config.Address).Address); + NYdb::TDriver connection(driverConfig); + NYdb::NConsoleClient::TDummyClient client(connection); + + auto credentialsProviderFactory = NYdb::CreateLoginCredentialsProviderFactory(config.StaticCredentials); + auto loginProvider = credentialsProviderFactory->CreateProvider(client.GetCoreFacility()); + try { + config.SecurityToken = loginProvider->GetAuthInfo(); + } catch (yexception& ex) { + Cerr << ex.what() << Endl; + connection.Stop(); return 1; } + connection.Stop(); + kikimr.SetSecurityToken(config.SecurityToken); } return handler(kikimr); diff --git a/ydb/core/driver_lib/cli_base/ya.make b/ydb/core/driver_lib/cli_base/ya.make index 632e6c029d..fb3f08875d 100644 --- a/ydb/core/driver_lib/cli_base/ya.make +++ b/ydb/core/driver_lib/cli_base/ya.make @@ -14,6 +14,9 @@ PEERDIR( ydb/public/lib/ydb_cli/common ydb/public/sdk/cpp/client/resources ydb/public/sdk/cpp/client/ydb_table + ydb/public/sdk/cpp/client/ydb_driver + ydb/public/sdk/cpp/client/ydb_types/credentials + ydb/public/lib/ydb_cli/commands/sdk_core_access ydb/public/lib/ydb_cli/commands/ydb_discovery ) diff --git a/ydb/core/protos/grpc.proto b/ydb/core/protos/grpc.proto index 242bd3938e..2e2bb2f64a 100644 --- a/ydb/core/protos/grpc.proto +++ b/ydb/core/protos/grpc.proto @@ -25,8 +25,6 @@ service TGRpcServer { rpc SchemeOperationStatus(TSchemeOperationStatus) returns (TResponse); // describe rpc SchemeDescribe(TSchemeDescribe) returns (TResponse); - // login - rpc LoginRequest(TLoginRequest) returns (TResponse); ///////////////////////////////////////////////////////////////////////////////////////////////// // CHOOSE PROXY INTERFACE diff --git a/ydb/core/protos/msgbus.proto b/ydb/core/protos/msgbus.proto index 64d456258b..ddfb74a68f 100644 --- a/ydb/core/protos/msgbus.proto +++ b/ydb/core/protos/msgbus.proto @@ -241,9 +241,6 @@ message TResponse { // TChooseProxyRequest optional string ProxyName = 1050; optional uint64 ProxyCookie = 1051; - - // Login - optional string UserToken = 1102; } message TFakeConfigDummy { @@ -717,10 +714,3 @@ message TTestShardControlRequest { message TTestShardControlResponse { } - -message TLoginRequest { - optional string Database = 1; - optional string User = 2; - optional string Password = 3; -}; - diff --git a/ydb/public/lib/base/msgbus.h b/ydb/public/lib/base/msgbus.h index 64c42949ad..baf1d6312c 100644 --- a/ydb/public/lib/base/msgbus.h +++ b/ydb/public/lib/base/msgbus.h @@ -87,7 +87,7 @@ enum { MTYPE_CLIENT_TEST_SHARD_CONTROL = 10481, MTYPE_CLIENT_DS_LOAD_REQUEST = 10482, // deprecated MTYPE_CLIENT_DS_LOAD_RESPONSE = 10483, // deprecated - MTYPE_CLIENT_LOGIN_REQUEST = 10484, + /*MTYPE_CLIENT_LOGIN_REQUEST*/ MTYPE_CLIENT_DEPRECATED_10484 = 10484, }; template <typename InstanceType, class TBufferRecord, int MType> @@ -136,7 +136,6 @@ struct TBusInterconnectDebug : TBusMessage<TBusInterconnectDebug, NKikimrClient: struct TBusConsoleRequest : TBusMessage<TBusConsoleRequest, NKikimrClient::TConsoleRequest, MTYPE_CLIENT_CONSOLE_REQUEST> {}; struct TBusConsoleResponse : TBusMessage<TBusConsoleResponse, NKikimrClient::TConsoleResponse, MTYPE_CLIENT_CONSOLE_RESPONSE> {}; struct TBusTestShardControlRequest : TBusMessage<TBusTestShardControlRequest, NKikimrClient::TTestShardControlRequest, MTYPE_CLIENT_TEST_SHARD_CONTROL> {}; -struct TBusLoginRequest : TBusMessage<TBusLoginRequest, NKikimrClient::TLoginRequest, MTYPE_CLIENT_LOGIN_REQUEST> {}; class TBusResponseStatus : public TBusResponse { public: @@ -218,7 +217,6 @@ public: RegisterType(new TBusConsoleRequest); RegisterType(new TBusConsoleResponse); RegisterType(new TBusTestShardControlRequest); - RegisterType(new TBusLoginRequest); } const static ui32 DefaultPort = 2134; diff --git a/ydb/public/lib/deprecated/client/grpc_client.cpp b/ydb/public/lib/deprecated/client/grpc_client.cpp index b8245a2226..5f8e0dcab1 100644 --- a/ydb/public/lib/deprecated/client/grpc_client.cpp +++ b/ydb/public/lib/deprecated/client/grpc_client.cpp @@ -339,7 +339,6 @@ namespace NKikimr { IMPL_REQUEST(ConsoleRequest, TConsoleRequest, TConsoleResponse) IMPL_REQUEST(FillNode, TFillNodeRequest, TResponse) IMPL_REQUEST(DrainNode, TDrainNodeRequest, TResponse) - IMPL_REQUEST(LoginRequest, TLoginRequest, TResponse) } // NGRpcProxy } // NKikimr diff --git a/ydb/public/lib/deprecated/client/grpc_client.h b/ydb/public/lib/deprecated/client/grpc_client.h index 1fc358bfed..b63ffa0395 100644 --- a/ydb/public/lib/deprecated/client/grpc_client.h +++ b/ydb/public/lib/deprecated/client/grpc_client.h @@ -111,8 +111,6 @@ namespace NKikimr { void FillNode(const NKikimrClient::TFillNodeRequest& request, TResponseCallback callback); void DrainNode(const NKikimrClient::TDrainNodeRequest& request, TResponseCallback callback); - - void LoginRequest(const NKikimrClient::TLoginRequest& request, TResponseCallback callback); }; } // NGRpcProxy diff --git a/ydb/public/lib/deprecated/kicli/kikimr.cpp b/ydb/public/lib/deprecated/kicli/kikimr.cpp index 08d0ef1673..b5f6ab5771 100644 --- a/ydb/public/lib/deprecated/kicli/kikimr.cpp +++ b/ydb/public/lib/deprecated/kicli/kikimr.cpp @@ -276,8 +276,6 @@ public: return ExecuteGRpcRequest<NMsgBusProxy::TBusDrainNode, NMsgBusProxy::TBusResponse>(&NGRpcProxy::TGRpcClient::DrainNode, promise, request); case NMsgBusProxy::MTYPE_CLIENT_FILL_NODE: return ExecuteGRpcRequest<NMsgBusProxy::TBusFillNode, NMsgBusProxy::TBusResponse>(&NGRpcProxy::TGRpcClient::FillNode, promise, request); - case NMsgBusProxy::MTYPE_CLIENT_LOGIN_REQUEST: - return ExecuteGRpcRequest<NMsgBusProxy::TBusLoginRequest, NMsgBusProxy::TBusResponse>(&NGRpcProxy::TGRpcClient::LoginRequest, promise, request); default: Y_ABORT("%s", (TStringBuilder() << "unexpected message type# " << type).data()); } diff --git a/ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make b/ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make new file mode 100644 index 0000000000..bf0c37a06d --- /dev/null +++ b/ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make @@ -0,0 +1,12 @@ +LIBRARY(ydb_sdk_core_access) + +SRCS( + ../ydb_sdk_core_access.cpp +) + +PEERDIR( + ydb/public/sdk/cpp/client/ydb_common_client/impl + ydb/public/sdk/cpp/client/ydb_types +) + +END() diff --git a/ydb/public/lib/ydb_cli/commands/ya.make b/ydb/public/lib/ydb_cli/commands/ya.make index 94b9927a4a..dfebf11be7 100644 --- a/ydb/public/lib/ydb_cli/commands/ya.make +++ b/ydb/public/lib/ydb_cli/commands/ya.make @@ -11,7 +11,6 @@ SRCS( query_workload.cpp ydb_admin.cpp ydb_benchmark.cpp - ydb_sdk_core_access.cpp ydb_dynamic_config.cpp ydb_profile.cpp ydb_root_common.cpp @@ -48,6 +47,7 @@ PEERDIR( ydb/public/lib/ydb_cli/commands/topic_workload ydb/public/lib/ydb_cli/commands/transfer_workload ydb/public/lib/ydb_cli/commands/ydb_discovery + ydb/public/lib/ydb_cli/commands/sdk_core_access ydb/public/lib/ydb_cli/dump ydb/public/lib/ydb_cli/import ydb/public/lib/ydb_cli/topic |