From 7eccb55aad22f75759798cab288882f866dde466 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Fri, 9 Dec 2016 14:01:21 +0100 Subject: Store flavor for nodes provisioned by NodeRepositoryProvisioner. - in config-provisioning:HostSpec and config-model:HostResource. - will be used by metrics-proxy, but should be useful overall. --- .../main/java/com/yahoo/config/provision/HostSpec.java | 17 +++++++++++------ .../java/com/yahoo/config/provision/ProvisionInfo.java | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'config-provisioning') diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java index b68139f3578..174a8ce4d97 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java @@ -24,26 +24,29 @@ public class HostSpec implements Comparable { /** The current membership role of this host in the cluster it belongs to */ private final Optional membership; + private final Optional flavor; + public HostSpec(String hostname, Optional membership) { - this(hostname, new ArrayList<>(), membership); + this(hostname, new ArrayList<>(), Optional.empty(), membership); } - public HostSpec(String hostname, ClusterMembership membership) { - this(hostname, new ArrayList<>(), Optional.of(membership)); + public HostSpec(String hostname, ClusterMembership membership, String flavor) { + this(hostname, new ArrayList<>(), Optional.of(flavor), Optional.of(membership)); } public HostSpec(String hostname, List aliases) { - this(hostname, aliases, Optional.empty()); + this(hostname, aliases, Optional.empty(), Optional.empty()); } public HostSpec(String hostname, List aliases, ClusterMembership membership) { - this(hostname, aliases, Optional.of(membership)); + this(hostname, aliases, Optional.empty(), Optional.of(membership)); } - public HostSpec(String hostname, List aliases, Optional membership) { + public HostSpec(String hostname, List aliases, Optional flavor, Optional membership) { if (hostname == null || hostname.isEmpty()) throw new IllegalArgumentException("Hostname must be specified"); this.hostname = hostname; this.aliases = ImmutableList.copyOf(aliases); + this.flavor = flavor; this.membership = membership; } @@ -53,6 +56,8 @@ public class HostSpec implements Comparable { /** Returns the aliases of this host as an immutable list. This may be empty but never null. */ public List aliases() { return aliases; } + public Optional flavor() { return flavor; } + /** Returns the membership of this host, or an empty value if not present */ public Optional membership() { return membership; } diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java index 988819aae2d..e903332bd6f 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java @@ -71,7 +71,7 @@ public class ProvisionInfo { private static HostSpec createHostSpec(Inspector object) { Optional membership = object.field(hostSpecMembership).valid() ? Optional.of(readMembership(object)) : Optional.empty(); - HostSpec h = new HostSpec(object.field(hostSpecHostName).asString(), Collections.emptyList(), membership); + HostSpec h = new HostSpec(object.field(hostSpecHostName).asString(), Collections.emptyList(), Optional.empty(), membership); return h; } -- cgit v1.2.3