diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-05-28 13:04:33 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-05-28 13:08:25 +0000 |
commit | 7d16ac7297b32a25a018bcfd406198a585559a2c (patch) | |
tree | ddd2bc2b7f09efa8e65354ce5d60c4c938e158f2 /configd | |
parent | 24db5f1c9e0e407dc0aa45febfc7b8992c097a66 (diff) |
also subscribe on ModelConfig
Diffstat (limited to 'configd')
-rw-r--r-- | configd/src/apps/sentinel/config-owner.cpp | 4 | ||||
-rw-r--r-- | configd/src/apps/sentinel/config-owner.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/configd/src/apps/sentinel/config-owner.cpp b/configd/src/apps/sentinel/config-owner.cpp index 3feec70d2e5..600fcb36761 100644 --- a/configd/src/apps/sentinel/config-owner.cpp +++ b/configd/src/apps/sentinel/config-owner.cpp @@ -16,18 +16,22 @@ ConfigOwner::~ConfigOwner() = default; void ConfigOwner::subscribe(const std::string & configId, std::chrono::milliseconds timeout) { _sentinelHandle = _subscriber.subscribe<SentinelConfig>(configId, timeout); + _modelHandle = _subscriber.subscribe<ModelConfig>("admin/model", timeout); } void ConfigOwner::doConfigure() { _currConfig = _sentinelHandle->getConfig(); + _modelConfig = _modelHandle->getConfig(); LOG_ASSERT(_currConfig); + LOG_ASSERT(_modelConfig); _currGeneration = _subscriber.getGeneration(); const SentinelConfig& config(*_currConfig); const auto & app = config.application; LOG(config, "Sentinel got %zd service elements [tenant(%s), application(%s), instance(%s)] for config generation %zd", config.service.size(), app.tenant.c_str(), app.name.c_str(), app.instance.c_str(), _currGeneration); + LOG(config, "Sentinel got model info [version %s] for %zd hosts", _modelConfig->vespaVersion.c_str(), _modelConfig->hosts.size()); } diff --git a/configd/src/apps/sentinel/config-owner.h b/configd/src/apps/sentinel/config-owner.h index 612db7fe9a1..df53ca7d685 100644 --- a/configd/src/apps/sentinel/config-owner.h +++ b/configd/src/apps/sentinel/config-owner.h @@ -3,9 +3,11 @@ #pragma once #include <vespa/config-sentinel.h> +#include <vespa/config-model.h> #include <vespa/config/config.h> using cloud::config::SentinelConfig; +using cloud::config::ModelConfig; using config::ConfigSubscriber; using config::ConfigHandle; @@ -19,9 +21,11 @@ class ConfigOwner { private: ConfigSubscriber _subscriber; ConfigHandle<SentinelConfig>::UP _sentinelHandle; + ConfigHandle<ModelConfig>::UP _modelHandle; int64_t _currGeneration = -1; std::unique_ptr<SentinelConfig> _currConfig; + std::unique_ptr<ModelConfig> _modelConfig; ConfigOwner(const ConfigOwner&) = delete; ConfigOwner& operator =(const ConfigOwner&) = delete; @@ -34,6 +38,7 @@ public: bool checkForConfigUpdate(); bool hasConfig() const { return _currConfig.get() != nullptr; } const SentinelConfig& getConfig() const { return *_currConfig; } + const ModelConfig& modelConfig() const { return *_modelConfig; } int64_t getGeneration() const { return _currGeneration; } }; |