Skip to content
This repository was archived by the owner on Aug 19, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

namespace google {

MetadataAgent::MetadataAgent(const MetadataAgentConfiguration& config)
MetadataAgent::MetadataAgent(const Configuration& config)
: config_(config), store_(config_), health_checker_(config) {}

MetadataAgent::~MetadataAgent() {}
Expand Down
8 changes: 4 additions & 4 deletions src/agent.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
namespace google {

// Configuration object.
class MetadataAgentConfiguration;
class Configuration;

// A server that implements the metadata agent API.
class MetadataApiServer;
Expand All @@ -35,13 +35,13 @@ class MetadataReporter;
// Runs the metadata tasks.
class MetadataAgent {
public:
MetadataAgent(const MetadataAgentConfiguration& config);
MetadataAgent(const Configuration& config);
~MetadataAgent();

// Starts serving.
void start();

const MetadataAgentConfiguration& config() const {
const Configuration& config() const {
return config_;
}

Expand All @@ -58,7 +58,7 @@ class MetadataAgent {
}

private:
const MetadataAgentConfiguration& config_;
const Configuration& config_;
HealthChecker health_checker_;

// The store for the metadata.
Expand Down
4 changes: 2 additions & 2 deletions src/api_server.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

namespace google {

MetadataApiServer::Handler::Handler(const MetadataAgentConfiguration& config,
MetadataApiServer::Handler::Handler(const Configuration& config,
const MetadataStore& store)
: config_(config), store_(store) {}

Expand Down Expand Up @@ -66,7 +66,7 @@ void MetadataApiServer::Handler::log(const HttpServer::string_type& info) {
}


MetadataApiServer::MetadataApiServer(const MetadataAgentConfiguration& config,
MetadataApiServer::MetadataApiServer(const Configuration& config,
const MetadataStore& store,
int server_threads,
const std::string& host, int port)
Expand Down
12 changes: 5 additions & 7 deletions src/api_server.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,31 +27,29 @@ namespace http = boost::network::http;
namespace google {

// Configuration object.
class MetadataAgentConfiguration;
class Configuration;

// Storage for the metadata mapping.
class MetadataStore;

// A server that implements the metadata agent API.
class MetadataApiServer {
public:
MetadataApiServer(const MetadataAgentConfiguration& config,
const MetadataStore& store, int server_threads,
const std::string& host, int port);
MetadataApiServer(const Configuration& config, const MetadataStore& store,
int server_threads, const std::string& host, int port);
~MetadataApiServer();

private:
class Handler;
using HttpServer = http::server<Handler>;
class Handler {
public:
Handler(const MetadataAgentConfiguration& config,
const MetadataStore& store);
Handler(const Configuration& config, const MetadataStore& store);
void operator()(const HttpServer::request& request,
std::shared_ptr<HttpServer::connection> conn);
void log(const HttpServer::string_type& info);
private:
const MetadataAgentConfiguration& config_;
const Configuration& config_;
const MetadataStore& store_;
};

Expand Down
11 changes: 5 additions & 6 deletions src/configuration.cc
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ constexpr const char kDefaultHealthCheckFile[] =

}

MetadataAgentConfiguration::MetadataAgentConfiguration()
Configuration::Configuration()
: project_id_(kDefaultProjectId),
credentials_file_(kDefaultCredentialsFile),
verbose_logging_(false),
Expand Down Expand Up @@ -116,12 +116,11 @@ MetadataAgentConfiguration::MetadataAgentConfiguration()
instance_zone_(kDefaultInstanceZone),
health_check_file_(kDefaultHealthCheckFile) {}

MetadataAgentConfiguration::MetadataAgentConfiguration(std::istream& input)
: MetadataAgentConfiguration() {
Configuration::Configuration(std::istream& input) : Configuration() {
ParseConfiguration(input);
}

int MetadataAgentConfiguration::ParseArguments(int ac, char** av) {
int Configuration::ParseArguments(int ac, char** av) {
std::string config_file;
boost::program_options::options_description flags_desc;
flags_desc.add_options()
Expand Down Expand Up @@ -167,14 +166,14 @@ int MetadataAgentConfiguration::ParseArguments(int ac, char** av) {
}
}

void MetadataAgentConfiguration::ParseConfigFile(const std::string& filename) {
void Configuration::ParseConfigFile(const std::string& filename) {
if (filename.empty()) return;

std::ifstream input(filename);
ParseConfiguration(input);
}

void MetadataAgentConfiguration::ParseConfiguration(std::istream& input) {
void Configuration::ParseConfiguration(std::istream& input) {
YAML::Node config = YAML::Load(input);
std::lock_guard<std::mutex> lock(mutex_);
project_id_ =
Expand Down
9 changes: 4 additions & 5 deletions src/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,12 @@ int main(int, char**);

namespace google {

class MetadataAgentConfiguration {
class Configuration {
public:
MetadataAgentConfiguration();
MetadataAgentConfiguration(std::istream& input);
Configuration();
Configuration(std::istream& input);
// Used to accept inline construction of streams.
MetadataAgentConfiguration(std::istream&& input)
: MetadataAgentConfiguration(input) {}
Configuration(std::istream&& input) : Configuration(input) {}

// Shared configuration.
const std::string& ProjectId() const {
Expand Down
2 changes: 1 addition & 1 deletion src/docker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ constexpr const char kDockerContainerResourcePrefix[] = "container";

}

DockerReader::DockerReader(const MetadataAgentConfiguration& config)
DockerReader::DockerReader(const Configuration& config)
: config_(config), environment_(config) {}

bool DockerReader::ValidateConfiguration() const {
Expand Down
9 changes: 4 additions & 5 deletions src/docker.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@
namespace google {

// Configuration object.
class MetadataAgentConfiguration;
class Configuration;

// Storage for the metadata mapping.
class MetadataStore;

class DockerReader {
public:
DockerReader(const MetadataAgentConfiguration& config);
DockerReader(const Configuration& config);
// A Docker metadata query function.
std::vector<MetadataUpdater::ResourceMetadata> MetadataQuery() const;

Expand Down Expand Up @@ -59,14 +59,13 @@ class DockerReader {
const json::Object* container, Timestamp collected_at) const
throw(json::Exception);

const MetadataAgentConfiguration& config_;
const Configuration& config_;
Environment environment_;
};

class DockerUpdater : public PollingMetadataUpdater {
public:
DockerUpdater(const MetadataAgentConfiguration& config,
MetadataStore* store)
DockerUpdater(const Configuration& config, MetadataStore* store)
: reader_(config), PollingMetadataUpdater(
config, store, "DockerUpdater",
config.DockerUpdaterIntervalSeconds(),
Expand Down
2 changes: 1 addition & 1 deletion src/environment.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ constexpr const char kGceInstanceResourceType[] = "gce_instance";

}

Environment::Environment(const MetadataAgentConfiguration& config)
Environment::Environment(const Configuration& config)
: config_(config), application_default_credentials_read_(false) {}

std::string Environment::GetMetadataString(const std::string& path) const {
Expand Down
6 changes: 3 additions & 3 deletions src/environment.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace google {

class Environment {
public:
Environment(const MetadataAgentConfiguration& config);
Environment(const Configuration& config);

const std::string& NumericProjectId() const;
const std::string& InstanceResourceType() const;
Expand All @@ -39,14 +39,14 @@ class Environment {

std::string GetMetadataString(const std::string& path) const;

const MetadataAgentConfiguration& config() const {
const Configuration& config() const {
return config_;
}

private:
void ReadApplicationDefaultCredentials() const;

const MetadataAgentConfiguration& config_;
const Configuration& config_;

// Cached data.
mutable std::mutex mutex_;
Expand Down
2 changes: 1 addition & 1 deletion src/health_checker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

namespace google {

HealthChecker::HealthChecker(const MetadataAgentConfiguration& config)
HealthChecker::HealthChecker(const Configuration& config)
: config_(config) {
boost::filesystem::create_directories(
boost::filesystem::path(config_.HealthCheckFile()).parent_path());
Expand Down
4 changes: 2 additions & 2 deletions src/health_checker.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ namespace google {
// Collects and reports health information about the metadata agent.
class HealthChecker {
public:
HealthChecker(const MetadataAgentConfiguration& config);
HealthChecker(const Configuration& config);
void SetUnhealthy(const std::string& component);

private:
Expand All @@ -36,7 +36,7 @@ class HealthChecker {
bool IsHealthy() const;
void CleanupForTest();

const MetadataAgentConfiguration& config_;
const Configuration& config_;
std::set<std::string> unhealthy_components_;
mutable std::mutex mutex_;
};
Expand Down
2 changes: 1 addition & 1 deletion src/instance.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace http = boost::network::http;

namespace google {

InstanceReader::InstanceReader(const MetadataAgentConfiguration& config)
InstanceReader::InstanceReader(const Configuration& config)
: config_(config), environment_(config) {}

/*static*/
Expand Down
9 changes: 4 additions & 5 deletions src/instance.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,28 @@
namespace google {

// Configuration object.
class MetadataAgentConfiguration;
class Configuration;

// Storage for the metadata mapping.
class MetadataStore;

class InstanceReader {
public:
InstanceReader(const MetadataAgentConfiguration& config);
InstanceReader(const Configuration& config);
// A Instance metadata query function.
std::vector<MetadataUpdater::ResourceMetadata> MetadataQuery() const;

// Gets the monitored resource of the instance the agent is running on.
static MonitoredResource InstanceResource(const Environment& environment);

private:
const MetadataAgentConfiguration& config_;
const Configuration& config_;
Environment environment_;
};

class InstanceUpdater : public PollingMetadataUpdater {
public:
InstanceUpdater(const MetadataAgentConfiguration& config,
MetadataStore* store)
InstanceUpdater(const Configuration& config, MetadataStore* store)
: reader_(config), PollingMetadataUpdater(
config, store, "InstanceUpdater",
config.InstanceUpdaterIntervalSeconds(),
Expand Down
4 changes: 2 additions & 2 deletions src/kubernetes.cc
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ bool ReadServiceAccountSecret(

}

KubernetesReader::KubernetesReader(const MetadataAgentConfiguration& config,
KubernetesReader::KubernetesReader(const Configuration& config,
HealthChecker* health_checker)
: config_(config), environment_(config), health_checker_(health_checker) {}

Expand Down Expand Up @@ -1164,7 +1164,7 @@ void KubernetesReader::WatchNodes(
LOG(INFO) << "Watch thread (node) exiting";
}

KubernetesUpdater::KubernetesUpdater(const MetadataAgentConfiguration& config,
KubernetesUpdater::KubernetesUpdater(const Configuration& config,
HealthChecker* health_checker,
MetadataStore* store)
: reader_(config, health_checker), PollingMetadataUpdater(
Expand Down
9 changes: 4 additions & 5 deletions src/kubernetes.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@
namespace google {

// Configuration object.
class MetadataAgentConfiguration;
class Configuration;

// Storage for the metadata mapping.
class MetadataStore;

class KubernetesReader {
public:
KubernetesReader(const MetadataAgentConfiguration& config,
KubernetesReader(const Configuration& config,
HealthChecker* health_checker);
// A Kubernetes metadata query function.
std::vector<MetadataUpdater::ResourceMetadata> MetadataQuery() const;
Expand Down Expand Up @@ -152,15 +152,14 @@ class KubernetesReader {
// A memoized map from an encoded owner reference to the owner object.
mutable std::map<std::string, json::value> owners_;

const MetadataAgentConfiguration& config_;
const Configuration& config_;
HealthChecker* health_checker_;
Environment environment_;
};

class KubernetesUpdater : public PollingMetadataUpdater {
public:
KubernetesUpdater(const MetadataAgentConfiguration& config,
HealthChecker* health_checker,
KubernetesUpdater(const Configuration& config, HealthChecker* health_checker,
MetadataStore* store);
~KubernetesUpdater() {
if (node_watch_thread_.joinable()) {
Expand Down
2 changes: 1 addition & 1 deletion src/metadatad.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#include "kubernetes.h"

int main(int ac, char** av) {
google::MetadataAgentConfiguration config;
google::Configuration config;
int parse_result = config.ParseArguments(ac, av);
if (parse_result) {
return parse_result < 0 ? 0 : parse_result;
Expand Down
2 changes: 1 addition & 1 deletion src/reporter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace http = boost::network::http;

namespace google {

MetadataReporter::MetadataReporter(const MetadataAgentConfiguration& config,
MetadataReporter::MetadataReporter(const Configuration& config,
MetadataStore* store, double period_s)
: store_(store),
config_(config),
Expand Down
Loading