aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinnokentii <innokentii@yandex-team.com>2023-04-07 23:49:11 +0300
committerinnokentii <innokentii@yandex-team.com>2023-04-07 23:49:11 +0300
commita4ec43037b59e46bd9229c25e7208887ad67c770 (patch)
tree72717955deb7c0e6ad87ce096bbf904601643ef2
parent8aea54cda7486e7df055e9a7fbf1b2f7859b4870 (diff)
downloadydb-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.cpp10
-rw-r--r--ydb/core/protos/console_config.proto3
-rw-r--r--ydb/public/lib/deprecated/kicli/configurator.cpp24
-rw-r--r--ydb/public/lib/deprecated/kicli/kicli.h9
-rw-r--r--ydb/public/lib/deprecated/kicli/kikimr.cpp7
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);