aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinnokentii <innokentii@yandex-team.com>2023-07-21 23:45:52 +0300
committerinnokentii <innokentii@yandex-team.com>2023-07-21 23:45:52 +0300
commitce9c3e6fca8f71af035fa93e28a0c57074dedf9e (patch)
treececda48262dbaf1794ff993fc2bdc3dae4a6160b
parentd881df4c4be0be12365f4c000d8fb8e2d9c71821 (diff)
downloadydb-ce9c3e6fca8f71af035fa93e28a0c57074dedf9e.tar.gz
Add warning to cms console
add warning to cms console
-rw-r--r--ydb/core/base/appdata.h2
-rw-r--r--ydb/core/cms/console/configs_dispatcher.cpp2
-rw-r--r--ydb/core/cms/http.cpp9
-rw-r--r--ydb/core/cms/ui/cms.css6
-rw-r--r--ydb/core/cms/ui/configs.js9
-rw-r--r--ydb/core/cms/ui/index.html9
-rw-r--r--ydb/core/driver_lib/run/run.cpp17
7 files changed, 54 insertions, 0 deletions
diff --git a/ydb/core/base/appdata.h b/ydb/core/base/appdata.h
index dc2b02faa2..0cde4ed40b 100644
--- a/ydb/core/base/appdata.h
+++ b/ydb/core/base/appdata.h
@@ -188,6 +188,8 @@ struct TAppData {
TString ClusterName;
+ bool YamlConfigEnabled = false;
+
TAppData(
ui32 sysPoolId, ui32 userPoolId, ui32 ioPoolId, ui32 batchPoolId,
TMap<TString, ui32> servicePools,
diff --git a/ydb/core/cms/console/configs_dispatcher.cpp b/ydb/core/cms/console/configs_dispatcher.cpp
index a16b30130a..21c6d39a64 100644
--- a/ydb/core/cms/console/configs_dispatcher.cpp
+++ b/ydb/core/cms/console/configs_dispatcher.cpp
@@ -665,6 +665,8 @@ void TConfigsDispatcher::Handle(TEvConsole::TEvConfigSubscriptionNotification::T
newYamlProtoConfig = YamlProtoConfig;
}
+ AppData()->YamlConfigEnabled = YamlConfigEnabled;
+
std::swap(YamlProtoConfig, newYamlProtoConfig);
THashSet<ui32> affectedKinds;
diff --git a/ydb/core/cms/http.cpp b/ydb/core/cms/http.cpp
index 76870e745b..ad3b63594e 100644
--- a/ydb/core/cms/http.cpp
+++ b/ydb/core/cms/http.cpp
@@ -194,6 +194,15 @@ private:
return;
}
+ if (msg->Request.GetPathInfo() == "/yaml-config-enabled") {
+
+ ctx.Send(ev->Sender, new NMon::TEvHttpInfoRes(TString(NMonitoring::HTTPOKJSON)
+ + R"({"enabled":)" + (AppData()->YamlConfigEnabled ? "true" : "false") + "}",
+ 0,
+ NMon::IEvHttpInfoRes::EContentType::Custom));
+ return;
+ }
+
ReplyWithFile(ev, ctx, TString{msg->Request.GetPathInfo()});
}
diff --git a/ydb/core/cms/ui/cms.css b/ydb/core/cms/ui/cms.css
index 66c9ccf28b..0877344afc 100644
--- a/ydb/core/cms/ui/cms.css
+++ b/ydb/core/cms/ui/cms.css
@@ -543,3 +543,9 @@ td {
}
}
+
+#yaml-configs-enabled-warning {
+ background: rgb(201, 48, 44);
+ border-color: rgb(172, 41, 37);
+ color: white;
+}
diff --git a/ydb/core/cms/ui/configs.js b/ydb/core/cms/ui/configs.js
index f3b807e451..b7b59e442f 100644
--- a/ydb/core/cms/ui/configs.js
+++ b/ydb/core/cms/ui/configs.js
@@ -308,11 +308,20 @@ function loadConfigItems() {
$.get(url).done(onConfigItemsLoaded).fail(onConfigItemsFailed);
}
+function onYamlConfigEnabledFetched(data) {
+ if (data && data['enabled']) {
+ $('#yaml-configs-enabled-warning').show();
+ }
+}
+
function loadConfigsContent() {
for (var kind of ConfigsState.editableItemKinds)
getOrCreateItemKind(cmsEnums.parse('ItemKinds', kind));
loadConfigItems();
+
+ var url = 'cms/yaml-config-enabled';
+ $.get(url).done(onYamlConfigEnabledFetched);
}
function loadTypes() {
diff --git a/ydb/core/cms/ui/index.html b/ydb/core/cms/ui/index.html
index ea56f98c73..7c2f3072af 100644
--- a/ydb/core/cms/ui/index.html
+++ b/ydb/core/cms/ui/index.html
@@ -67,6 +67,15 @@
</ul>
<div class="tab-content" style="padding-top: 10px">
<div id="configs" class="tab-pane fade in active show">
+ <div id="yaml-configs-enabled-warning" style="display: none" class="yaml-box mb-2">
+ <div class="p-3 px-4" id="yaml-heading-zero">
+ <div class="mb-0 py-1">
+ <div class="d-inline">
+ <b>YAML config is enabled on this cluster. These configs won't take effect.</b>
+ </div>
+ </div>
+ </div>
+ </div>
<div id="configs-error" class="error"></div>
<div id="configs-success" class="success"></div>
<div id="config-items"></div>
diff --git a/ydb/core/driver_lib/run/run.cpp b/ydb/core/driver_lib/run/run.cpp
index 49af72c95e..0bdb30a16f 100644
--- a/ydb/core/driver_lib/run/run.cpp
+++ b/ydb/core/driver_lib/run/run.cpp
@@ -365,6 +365,21 @@ public:
}
};
+class TYamlConfigInitializer : public IAppDataInitializer {
+ const NKikimrConfig::TAppConfig& Config;
+
+public:
+ TYamlConfigInitializer(const TKikimrRunConfig& runConfig)
+ : Config(runConfig.AppConfig)
+ {
+ }
+
+ virtual void Initialize(NKikimr::TAppData* appData) override
+ {
+ appData->YamlConfigEnabled = Config.GetYamlConfigEnabled();
+ }
+};
+
TKikimrRunner::TKikimrRunner(std::shared_ptr<TModuleFactories> factories)
: ModuleFactories(std::move(factories))
, Counters(MakeIntrusive<::NMonitoring::TDynamicCounters>())
@@ -1143,6 +1158,8 @@ void TKikimrRunner::InitializeAppData(const TKikimrRunConfig& runConfig)
appDataInitializers.AddAppDataInitializer(new TLabelsInitializer(runConfig));
// setup cluster name
appDataInitializers.AddAppDataInitializer(new TClusterNameInitializer(runConfig));
+ // setup yaml config info
+ appDataInitializers.AddAppDataInitializer(new TYamlConfigInitializer(runConfig));
appDataInitializers.Initialize(AppData.Get());
}