diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-03-20 21:23:51 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-03-20 21:23:51 +0100 |
commit | 75df844174e47bec91a3067ab50b16a9833fd5f0 (patch) | |
tree | 50770bc317f9cff020751ae4c8f6b1919423fd9b /config-model/src/main/java/com/yahoo/config/model/provision | |
parent | 601b4777257e9d1694bdc6987d2b63ee6ccf52dc (diff) |
Allow applications to request exlcusive access to hosts
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config/model/provision')
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java index fb58a991012..2e1d507eea1 100644 --- a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java +++ b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java @@ -4,9 +4,24 @@ package com.yahoo.config.model.provision; import com.yahoo.collections.ListMap; import com.yahoo.collections.Pair; import com.yahoo.config.model.api.HostProvisioner; -import com.yahoo.config.provision.*; - -import java.util.*; +import com.yahoo.config.provision.Capacity; +import com.yahoo.config.provision.ClusterMembership; +import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.config.provision.HostSpec; +import com.yahoo.config.provision.ProvisionLogger; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.Optional; +import java.util.Set; /** * In memory host provisioner. NB! ATM cannot be reused after allocate has been called. @@ -111,11 +126,14 @@ public class InMemoryProvisioner implements HostProvisioner { List<HostSpec> allocation = new ArrayList<>(); if (groups == 1) { - allocation.addAll(allocateHostGroup(cluster, flavor, capacity, startIndexForClusters)); + allocation.addAll(allocateHostGroup(cluster.with(Optional.of(ClusterSpec.Group.from(0))), + flavor, + capacity, + startIndexForClusters)); } else { for (int i = 0; i < groups; i++) { - allocation.addAll(allocateHostGroup(cluster.changeGroup(Optional.of(ClusterSpec.Group.from(i))), + allocation.addAll(allocateHostGroup(cluster.with(Optional.of(ClusterSpec.Group.from(i))), flavor, capacity / groups, allocation.size())); |