diff options
author | gjoranv <gv@yahoo-inc.com> | 2016-12-09 14:01:21 +0100 |
---|---|---|
committer | gjoranv <gv@yahoo-inc.com> | 2016-12-09 14:01:21 +0100 |
commit | 7eccb55aad22f75759798cab288882f866dde466 (patch) | |
tree | f297658379f3156fedad7599315f094ecb01ce0a /config-provisioning/src/main/java/com/yahoo | |
parent | 75c6f3bd447a730261bf3e0fb20215a1db44b97f (diff) |
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.
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java | 17 | ||||
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java | 2 |
2 files changed, 12 insertions, 7 deletions
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<HostSpec> { /** The current membership role of this host in the cluster it belongs to */ private final Optional<ClusterMembership> membership; + private final Optional<String> flavor; + public HostSpec(String hostname, Optional<ClusterMembership> 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<String> aliases) { - this(hostname, aliases, Optional.empty()); + this(hostname, aliases, Optional.empty(), Optional.empty()); } public HostSpec(String hostname, List<String> aliases, ClusterMembership membership) { - this(hostname, aliases, Optional.of(membership)); + this(hostname, aliases, Optional.empty(), Optional.of(membership)); } - public HostSpec(String hostname, List<String> aliases, Optional<ClusterMembership> membership) { + public HostSpec(String hostname, List<String> aliases, Optional<String> flavor, Optional<ClusterMembership> 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<HostSpec> { /** Returns the aliases of this host as an immutable list. This may be empty but never null. */ public List<String> aliases() { return aliases; } + public Optional<String> flavor() { return flavor; } + /** Returns the membership of this host, or an empty value if not present */ public Optional<ClusterMembership> 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<ClusterMembership> membership = object.field(hostSpecMembership).valid() ? Optional.of(readMembership(object)) : Optional.empty(); - HostSpec h = new HostSpec(object.field(hostSpecHostName).asString(), Collections.<String>emptyList(), membership); + HostSpec h = new HostSpec(object.field(hostSpecHostName).asString(), Collections.emptyList(), Optional.empty(), membership); return h; } |