summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Rutkovsky <[email protected]>2025-06-16 17:50:26 +0300
committerGitHub <[email protected]>2025-06-16 14:50:26 +0000
commit928d8f042c6c9793f6ceff5aca15e276168fa84b (patch)
tree32b9c0e21aafb5d562dad9df3985ba23e66f3b00
parentc198a67ea3efb1f488df95685ff18e85c8292c51 (diff)
Report self node pile for dynamic nodes too (#19688)
-rw-r--r--ydb/core/blobstorage/nodewarden/distconf.cpp10
-rw-r--r--ydb/core/blobstorage/nodewarden/distconf_mon.cpp7
-rw-r--r--ydb/core/blobstorage/nodewarden/node_warden.h1
-rw-r--r--ydb/core/driver_lib/run/kikimr_services_initializers.cpp3
4 files changed, 21 insertions, 0 deletions
diff --git a/ydb/core/blobstorage/nodewarden/distconf.cpp b/ydb/core/blobstorage/nodewarden/distconf.cpp
index 0a3ef8b8eab..cebd06c162d 100644
--- a/ydb/core/blobstorage/nodewarden/distconf.cpp
+++ b/ydb/core/blobstorage/nodewarden/distconf.cpp
@@ -120,6 +120,16 @@ namespace NKikimr::NStorage {
}
}
+ if (Cfg->DynamicNodeConfig && Cfg->DynamicNodeConfig->HasNodeInfo()) {
+ if (const auto& nodeInfo = Cfg->DynamicNodeConfig->GetNodeInfo(); nodeInfo.HasBridgePileId()) {
+ const ui32 pileId = nodeInfo.GetBridgePileId();
+ Y_ABORT_UNLESS(pileId < bridgeInfo->Piles.size());
+ bridgeInfo->SelfNodePile = &bridgeInfo->Piles[pileId];
+ }
+ }
+
+ Y_ABORT_UNLESS(bridgeInfo->SelfNodePile);
+
Y_ABORT_UNLESS(state.PerPileStateSize() == Cfg->BridgeConfig->PilesSize());
for (size_t i = 0; i < state.PerPileStateSize(); ++i) {
auto& pile = bridgeInfo->Piles[i];
diff --git a/ydb/core/blobstorage/nodewarden/distconf_mon.cpp b/ydb/core/blobstorage/nodewarden/distconf_mon.cpp
index ff2c9b22552..6d2a988b9a3 100644
--- a/ydb/core/blobstorage/nodewarden/distconf_mon.cpp
+++ b/ydb/core/blobstorage/nodewarden/distconf_mon.cpp
@@ -160,6 +160,13 @@ namespace NKikimr::NStorage {
}
DIV_CLASS("panel-body") {
out << "Self-management enabled: " << (SelfManagementEnabled ? "yes" : "no") << "<br/>";
+ out << "Self pile id: ";
+ if (BridgeInfo) {
+ out << BridgeInfo->SelfNodePile->BridgePileId;
+ } else {
+ out << "<none>";
+ }
+ out << "<br/>";
}
}
diff --git a/ydb/core/blobstorage/nodewarden/node_warden.h b/ydb/core/blobstorage/nodewarden/node_warden.h
index 9693c1aaa4f..11c1721e859 100644
--- a/ydb/core/blobstorage/nodewarden/node_warden.h
+++ b/ydb/core/blobstorage/nodewarden/node_warden.h
@@ -23,6 +23,7 @@ namespace NKikimr {
std::optional<NKikimrConfig::TDomainsConfig> DomainsConfig;
std::optional<NKikimrConfig::TSelfManagementConfig> SelfManagementConfig;
std::optional<NKikimrConfig::TBridgeConfig> BridgeConfig;
+ std::optional<NKikimrConfig::TDynamicNodeConfig> DynamicNodeConfig;
TString ConfigDirPath;
std::optional<NKikimrBlobStorage::TYamlConfig> YamlConfig;
TString StartupConfigYaml;
diff --git a/ydb/core/driver_lib/run/kikimr_services_initializers.cpp b/ydb/core/driver_lib/run/kikimr_services_initializers.cpp
index bea9c7fddc2..444b9872635 100644
--- a/ydb/core/driver_lib/run/kikimr_services_initializers.cpp
+++ b/ydb/core/driver_lib/run/kikimr_services_initializers.cpp
@@ -960,6 +960,9 @@ void TBSNodeWardenInitializer::InitializeServices(NActors::TActorSystemSetup* se
if (Config.HasBridgeConfig()) {
nodeWardenConfig->BridgeConfig.emplace(Config.GetBridgeConfig());
}
+ if (Config.HasDynamicNodeConfig()) {
+ nodeWardenConfig->DynamicNodeConfig.emplace(Config.GetDynamicNodeConfig());
+ }
if (Config.HasConfigDirPath()) {
nodeWardenConfig->ConfigDirPath = Config.GetConfigDirPath();