From d0cfe080c5b4cb31ed1f83df0a7f9a1a162b9bfe Mon Sep 17 00:00:00 2001 From: Igor Peshansky Date: Mon, 23 Jul 2018 16:14:42 -0400 Subject: [PATCH 1/2] Allow configuring the host address binding for the local resource API. --- src/agent.cc | 4 ++-- src/configuration.cc | 5 +++++ src/configuration.h | 5 +++++ test/configuration_unittest.cc | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/agent.cc b/src/agent.cc index 14fdae8e..b60c603e 100644 --- a/src/agent.cc +++ b/src/agent.cc @@ -30,8 +30,8 @@ MetadataAgent::~MetadataAgent() {} void MetadataAgent::Start() { metadata_api_server_.reset(new MetadataApiServer( - config_, &health_checker_, store_, config_.MetadataApiNumThreads(), "0.0.0.0", - config_.MetadataApiPort())); + config_, &health_checker_, store_, config_.MetadataApiNumThreads(), + config_.MetadataApiHostAddress(), config_.MetadataApiPort())); reporter_.reset(new MetadataReporter( config_, &store_, config_.MetadataReporterIntervalSeconds())); } diff --git a/src/configuration.cc b/src/configuration.cc index e6f37a54..e991c28a 100644 --- a/src/configuration.cc +++ b/src/configuration.cc @@ -41,6 +41,7 @@ constexpr const char kDefaultProjectId[] = ""; constexpr const char kDefaultCredentialsFile[] = ""; constexpr const int kMetadataApiDefaultNumThreads = 3; constexpr const int kMetadataApiDefaultPort = 8000; +constexpr const char kMetadataApiDefaultHostAddress[] = "0.0.0.0"; constexpr const char kMetadataApiDefaultResourceTypeSeparator[] = "."; constexpr const int kMetadataReporterDefaultIntervalSeconds = 60; constexpr const int kMetadataReporterDefaultPurgeDeleted = false; @@ -85,6 +86,7 @@ Configuration::Configuration() verbose_logging_(false), metadata_api_num_threads_(kMetadataApiDefaultNumThreads), metadata_api_port_(kMetadataApiDefaultPort), + metadata_api_host_address_(kMetadataApiDefaultHostAddress), metadata_api_resource_type_separator_( kMetadataApiDefaultResourceTypeSeparator), metadata_reporter_interval_seconds_( @@ -222,6 +224,9 @@ void Configuration::ParseConfiguration(std::istream& input) { config["MetadataApiNumThreads"].as(metadata_api_num_threads_); metadata_api_port_ = config["MetadataApiPort"].as(metadata_api_port_); + metadata_api_host_address_ = + config["MetadataApiHostAddress"].as( + metadata_api_host_address_); metadata_api_resource_type_separator_ = config["MetadataApiResourceTypeSeparator"].as( metadata_api_resource_type_separator_); diff --git a/src/configuration.h b/src/configuration.h index 099d767b..f3e62cea 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -52,6 +52,10 @@ class Configuration { std::lock_guard lock(mutex_); return metadata_api_port_; } + const std::string& MetadataApiHostAddress() const { + std::lock_guard lock(mutex_); + return metadata_api_host_address_; + } const std::string& MetadataApiResourceTypeSeparator() const { std::lock_guard lock(mutex_); return metadata_api_resource_type_separator_; @@ -186,6 +190,7 @@ class Configuration { bool verbose_logging_; int metadata_api_num_threads_; int metadata_api_port_; + std::string metadata_api_host_address_; std::string metadata_api_resource_type_separator_; int metadata_reporter_interval_seconds_; bool metadata_reporter_purge_deleted_; diff --git a/test/configuration_unittest.cc b/test/configuration_unittest.cc index e755cb36..ca31718f 100644 --- a/test/configuration_unittest.cc +++ b/test/configuration_unittest.cc @@ -9,6 +9,7 @@ void VerifyDefaultConfig(const Configuration& config) { EXPECT_EQ("", config.CredentialsFile()); EXPECT_EQ(3, config.MetadataApiNumThreads()); EXPECT_EQ(8000, config.MetadataApiPort()); + EXPECT_EQ("0.0.0.0", config.MetadataApiHostAddress()); EXPECT_EQ(".", config.MetadataApiResourceTypeSeparator()); EXPECT_EQ(60, config.MetadataReporterIntervalSeconds()); EXPECT_EQ(false, config.MetadataReporterPurgeDeleted()); From 1a9367a2725b7babdf513fe547274b2e183985b1 Mon Sep 17 00:00:00 2001 From: Igor Peshansky Date: Mon, 23 Jul 2018 16:30:02 -0400 Subject: [PATCH 2/2] HostAddress -> BindAddress. --- src/agent.cc | 2 +- src/configuration.cc | 10 +++++----- src/configuration.h | 6 +++--- test/configuration_unittest.cc | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/agent.cc b/src/agent.cc index b60c603e..546dc638 100644 --- a/src/agent.cc +++ b/src/agent.cc @@ -31,7 +31,7 @@ MetadataAgent::~MetadataAgent() {} void MetadataAgent::Start() { metadata_api_server_.reset(new MetadataApiServer( config_, &health_checker_, store_, config_.MetadataApiNumThreads(), - config_.MetadataApiHostAddress(), config_.MetadataApiPort())); + config_.MetadataApiBindAddress(), config_.MetadataApiPort())); reporter_.reset(new MetadataReporter( config_, &store_, config_.MetadataReporterIntervalSeconds())); } diff --git a/src/configuration.cc b/src/configuration.cc index e991c28a..42c38d29 100644 --- a/src/configuration.cc +++ b/src/configuration.cc @@ -41,7 +41,7 @@ constexpr const char kDefaultProjectId[] = ""; constexpr const char kDefaultCredentialsFile[] = ""; constexpr const int kMetadataApiDefaultNumThreads = 3; constexpr const int kMetadataApiDefaultPort = 8000; -constexpr const char kMetadataApiDefaultHostAddress[] = "0.0.0.0"; +constexpr const char kMetadataApiDefaultBindAddress[] = "0.0.0.0"; constexpr const char kMetadataApiDefaultResourceTypeSeparator[] = "."; constexpr const int kMetadataReporterDefaultIntervalSeconds = 60; constexpr const int kMetadataReporterDefaultPurgeDeleted = false; @@ -86,7 +86,7 @@ Configuration::Configuration() verbose_logging_(false), metadata_api_num_threads_(kMetadataApiDefaultNumThreads), metadata_api_port_(kMetadataApiDefaultPort), - metadata_api_host_address_(kMetadataApiDefaultHostAddress), + metadata_api_bind_address_(kMetadataApiDefaultBindAddress), metadata_api_resource_type_separator_( kMetadataApiDefaultResourceTypeSeparator), metadata_reporter_interval_seconds_( @@ -224,9 +224,9 @@ void Configuration::ParseConfiguration(std::istream& input) { config["MetadataApiNumThreads"].as(metadata_api_num_threads_); metadata_api_port_ = config["MetadataApiPort"].as(metadata_api_port_); - metadata_api_host_address_ = - config["MetadataApiHostAddress"].as( - metadata_api_host_address_); + metadata_api_bind_address_ = + config["MetadataApiBindAddress"].as( + metadata_api_bind_address_); metadata_api_resource_type_separator_ = config["MetadataApiResourceTypeSeparator"].as( metadata_api_resource_type_separator_); diff --git a/src/configuration.h b/src/configuration.h index f3e62cea..0ed2a407 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -52,9 +52,9 @@ class Configuration { std::lock_guard lock(mutex_); return metadata_api_port_; } - const std::string& MetadataApiHostAddress() const { + const std::string& MetadataApiBindAddress() const { std::lock_guard lock(mutex_); - return metadata_api_host_address_; + return metadata_api_bind_address_; } const std::string& MetadataApiResourceTypeSeparator() const { std::lock_guard lock(mutex_); @@ -190,7 +190,7 @@ class Configuration { bool verbose_logging_; int metadata_api_num_threads_; int metadata_api_port_; - std::string metadata_api_host_address_; + std::string metadata_api_bind_address_; std::string metadata_api_resource_type_separator_; int metadata_reporter_interval_seconds_; bool metadata_reporter_purge_deleted_; diff --git a/test/configuration_unittest.cc b/test/configuration_unittest.cc index ca31718f..e47e34a4 100644 --- a/test/configuration_unittest.cc +++ b/test/configuration_unittest.cc @@ -9,7 +9,7 @@ void VerifyDefaultConfig(const Configuration& config) { EXPECT_EQ("", config.CredentialsFile()); EXPECT_EQ(3, config.MetadataApiNumThreads()); EXPECT_EQ(8000, config.MetadataApiPort()); - EXPECT_EQ("0.0.0.0", config.MetadataApiHostAddress()); + EXPECT_EQ("0.0.0.0", config.MetadataApiBindAddress()); EXPECT_EQ(".", config.MetadataApiResourceTypeSeparator()); EXPECT_EQ(60, config.MetadataReporterIntervalSeconds()); EXPECT_EQ(false, config.MetadataReporterPurgeDeleted());