summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src
diff options
context:
space:
mode:
authorgjoranv <gv@yahoo-inc.com>2016-12-09 14:01:21 +0100
committergjoranv <gv@yahoo-inc.com>2016-12-09 14:01:21 +0100
commit7eccb55aad22f75759798cab288882f866dde466 (patch)
treef297658379f3156fedad7599315f094ecb01ce0a /config-provisioning/src
parent75c6f3bd447a730261bf3e0fb20215a1db44b97f (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')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java17
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java2
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;
}