diff options
author | Alexander Rutkovsky <[email protected]> | 2025-06-16 17:50:26 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2025-06-16 14:50:26 +0000 |
commit | 928d8f042c6c9793f6ceff5aca15e276168fa84b (patch) | |
tree | 32b9c0e21aafb5d562dad9df3985ba23e66f3b00 | |
parent | c198a67ea3efb1f488df95685ff18e85c8292c51 (diff) |
Report self node pile for dynamic nodes too (#19688)
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(); |