diff options
author | innokentii <innokentii@yandex-team.com> | 2023-07-21 23:45:52 +0300 |
---|---|---|
committer | innokentii <innokentii@yandex-team.com> | 2023-07-21 23:45:52 +0300 |
commit | ce9c3e6fca8f71af035fa93e28a0c57074dedf9e (patch) | |
tree | cecda48262dbaf1794ff993fc2bdc3dae4a6160b | |
parent | d881df4c4be0be12365f4c000d8fb8e2d9c71821 (diff) | |
download | ydb-ce9c3e6fca8f71af035fa93e28a0c57074dedf9e.tar.gz |
Add warning to cms console
add warning to cms console
-rw-r--r-- | ydb/core/base/appdata.h | 2 | ||||
-rw-r--r-- | ydb/core/cms/console/configs_dispatcher.cpp | 2 | ||||
-rw-r--r-- | ydb/core/cms/http.cpp | 9 | ||||
-rw-r--r-- | ydb/core/cms/ui/cms.css | 6 | ||||
-rw-r--r-- | ydb/core/cms/ui/configs.js | 9 | ||||
-rw-r--r-- | ydb/core/cms/ui/index.html | 9 | ||||
-rw-r--r-- | ydb/core/driver_lib/run/run.cpp | 17 |
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()); } |