diff options
author | innokentii <innokentii@yandex-team.com> | 2023-04-07 23:49:11 +0300 |
---|---|---|
committer | innokentii <innokentii@yandex-team.com> | 2023-04-07 23:49:11 +0300 |
commit | a4ec43037b59e46bd9229c25e7208887ad67c770 (patch) | |
tree | 72717955deb7c0e6ad87ce096bbf904601643ef2 | |
parent | 8aea54cda7486e7df055e9a7fbf1b2f7859b4870 (diff) | |
download | ydb-a4ec43037b59e46bd9229c25e7208887ad67c770.tar.gz |
Add yaml to old get config call,
add yaml to old get config call
-rw-r--r-- | ydb/core/cms/console/console_configs_provider.cpp | 10 | ||||
-rw-r--r-- | ydb/core/protos/console_config.proto | 3 | ||||
-rw-r--r-- | ydb/public/lib/deprecated/kicli/configurator.cpp | 24 | ||||
-rw-r--r-- | ydb/public/lib/deprecated/kicli/kicli.h | 9 | ||||
-rw-r--r-- | ydb/public/lib/deprecated/kicli/kikimr.cpp | 7 |
5 files changed, 47 insertions, 6 deletions
diff --git a/ydb/core/cms/console/console_configs_provider.cpp b/ydb/core/cms/console/console_configs_provider.cpp index 3a7415e5feb..5554a7f08d5 100644 --- a/ydb/core/cms/console/console_configs_provider.cpp +++ b/ydb/core/cms/console/console_configs_provider.cpp @@ -1088,6 +1088,16 @@ void TConfigsProvider::Handle(TEvConsole::TEvGetNodeConfigRequest::TPtr &ev, con LOG_TRACE_S(ctx, NKikimrServices::CMS_CONFIGS, "Send TEvGetNodeConfigResponse: " << response->Record.ShortDebugString()); + if (rec.HasServeYaml() && rec.GetServeYaml()) { + response->Record.SetYamlConfig(YamlConfig); + + for (auto &[id, config] : VolatileYamlConfigs) { + auto &item = *response->Record.AddVolatileConfigs(); + item.SetId(id); + item.SetConfig(config); + } + } + ctx.Send(ev->Sender, response.Release(), 0, ev->Cookie); } diff --git a/ydb/core/protos/console_config.proto b/ydb/core/protos/console_config.proto index ef54ccdb68f..e1e43376735 100644 --- a/ydb/core/protos/console_config.proto +++ b/ydb/core/protos/console_config.proto @@ -347,11 +347,14 @@ message TGetNodeConfigRequest { optional TNodeAttributes Node = 1; // Filter items by specified kinds (return full config by default). repeated uint32 ItemKinds = 2; + optional bool ServeYaml = 3; } message TGetNodeConfigResponse { optional TStatus Status = 1; optional NKikimrConfig.TAppConfig Config = 2; + optional string YamlConfig = 3; + repeated TVolatileYamlConfig VolatileConfigs = 4; } message TSubscriber { diff --git a/ydb/public/lib/deprecated/kicli/configurator.cpp b/ydb/public/lib/deprecated/kicli/configurator.cpp index 2b3c28cf3fc..f256c230b80 100644 --- a/ydb/public/lib/deprecated/kicli/configurator.cpp +++ b/ydb/public/lib/deprecated/kicli/configurator.cpp @@ -33,6 +33,25 @@ const NKikimrConfig::TAppConfig &TConfigurationResult::GetConfig() const return Record().GetGetNodeConfigResponse().GetConfig(); } +bool TConfigurationResult::HasYamlConfig() const +{ + return Record().GetGetNodeConfigResponse().HasYamlConfig(); +} + +const TString& TConfigurationResult::GetYamlConfig() const +{ + return Record().GetGetNodeConfigResponse().GetYamlConfig(); +} + +TMap<ui64, TString> TConfigurationResult::GetVolatileYamlConfigs() const +{ + TMap<ui64, TString> volatileConfigs; + for (auto &item : Record().GetGetNodeConfigResponse().GetVolatileConfigs()) { + volatileConfigs.emplace(item.GetId(), item.GetConfig()); + } + return volatileConfigs; +} + TNodeConfigurator::TNodeConfigurator(TKikimr& kikimr) : Kikimr(&kikimr) { @@ -43,9 +62,10 @@ TConfigurationResult TNodeConfigurator::SyncGetNodeConfig(ui32 nodeId, const TString &tenant, const TString &nodeType, const TString& domain, - const TString& token) const + const TString& token, + bool serveYaml) const { - auto future = Kikimr->GetNodeConfig(nodeId, host, tenant, nodeType, domain, token); + auto future = Kikimr->GetNodeConfig(nodeId, host, tenant, nodeType, domain, token, serveYaml); auto result = future.GetValue(TDuration::Max()); return TConfigurationResult(result); } diff --git a/ydb/public/lib/deprecated/kicli/kicli.h b/ydb/public/lib/deprecated/kicli/kicli.h index 699c6bac05f..410fe458608 100644 --- a/ydb/public/lib/deprecated/kicli/kicli.h +++ b/ydb/public/lib/deprecated/kicli/kicli.h @@ -682,6 +682,9 @@ public: TString GetErrorMessage() const; const NKikimrConfig::TAppConfig &GetConfig() const; + bool HasYamlConfig() const; + const TString& GetYamlConfig() const; + TMap<ui64, TString> GetVolatileYamlConfigs() const; const NKikimrClient::TConsoleResponse &Record() const; @@ -697,7 +700,8 @@ public: const TString &tenant, const TString &nodeType, const TString& domain = "", - const TString& token = "") const; + const TString& token = "", + bool serveYaml = false) const; private: TNodeConfigurator(TKikimr& kikimr); @@ -802,7 +806,8 @@ protected: const TString &tenant, const TString &nodeType, const TString& domain, - const TString& token = TString()); + const TString& token = TString(), + bool serveYaml = false); template <typename T> static void DumpRequest(const T& pb) { if (DUMP_REQUESTS) { diff --git a/ydb/public/lib/deprecated/kicli/kikimr.cpp b/ydb/public/lib/deprecated/kicli/kikimr.cpp index 028275f6776..052ae193d44 100644 --- a/ydb/public/lib/deprecated/kicli/kikimr.cpp +++ b/ydb/public/lib/deprecated/kicli/kikimr.cpp @@ -598,10 +598,13 @@ NThreading::TFuture<TResult> TKikimr::GetNodeConfig(ui32 nodeId, const TString &tenant, const TString &nodeType, const TString& domain, - const TString& token) + const TString& token, + bool serveYaml) { TAutoPtr<NMsgBusProxy::TBusConsoleRequest> request = new NMsgBusProxy::TBusConsoleRequest; - auto &node = *request->Record.MutableGetNodeConfigRequest()->MutableNode(); + auto &rec = request->Record; + rec.MutableGetNodeConfigRequest()->SetServeYaml(serveYaml); + auto &node = *rec.MutableGetNodeConfigRequest()->MutableNode(); node.SetNodeId(nodeId); node.SetHost(host); node.SetTenant(tenant); |