diff options
author | Harald Musum <musum@oath.com> | 2018-06-29 12:13:13 +0200 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-06-29 12:13:13 +0200 |
commit | 246b5345b7697c5e60cd5df968796da510de2409 (patch) | |
tree | 8a181beb9ac03c91de89d09a68da952b08fcf2d8 /node-repository | |
parent | 5ee5a24550ff5d2c5349c08cfab90a7a124b3b80 (diff) |
Remove support for default flavor override per application
All overrides have been removed, not used anymore
Diffstat (limited to 'node-repository')
5 files changed, 3 insertions, 49 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java index 1383a0a8cf3..567ba4708f7 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java @@ -245,11 +245,6 @@ public class NodeRepository extends AbstractComponent { } } - /** Get default flavor override for an application, if present. */ - public Optional<String> getDefaultFlavorOverride(ApplicationId applicationId) { - return db.getDefaultFlavorForApplication(applicationId); - } - public NodeFlavors getAvailableFlavors() { return flavors; } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java index f87c10b9edf..f66cec0706a 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java @@ -19,7 +19,6 @@ import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.node.Agent; import com.yahoo.vespa.hosted.provision.node.Status; -import java.nio.charset.StandardCharsets; import java.time.Clock; import java.time.Duration; import java.util.ArrayList; @@ -327,18 +326,6 @@ public class CuratorDatabaseClient { return curatorDatabase.lock(path, timeout); } - /** - * Returns a default flavor specific for an application, or empty if not available. - */ - public Optional<String> getDefaultFlavorForApplication(ApplicationId applicationId) { - Optional<byte[]> utf8DefaultFlavor = curatorDatabase.getData(defaultFlavorPath(applicationId)); - return utf8DefaultFlavor.map((flavor) -> new String(flavor, StandardCharsets.UTF_8)); - } - - private Path defaultFlavorPath(ApplicationId applicationId) { - return root.append("defaultFlavor").append(applicationId.serializedForm()); - } - public Set<String> readInactiveJobs() { try { byte[] data = curatorDatabase.getData(inactiveJobsPath()).get(); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java index 4b26769b1fb..efa1cd3745d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java @@ -40,16 +40,14 @@ public class CapacityPolicies { } } - public Flavor decideFlavor(Capacity requestedCapacity, ClusterSpec cluster, Optional<String> defaultFlavorOverride) { + public Flavor decideFlavor(Capacity requestedCapacity, ClusterSpec cluster) { // for now, always use the requested flavor if a docker flavor is requested Optional<String> requestedFlavor = requestedCapacity.flavor(); if (requestedFlavor.isPresent() && flavors.getFlavorOrThrow(requestedFlavor.get()).getType() == Flavor.Type.DOCKER_CONTAINER) return flavors.getFlavorOrThrow(requestedFlavor.get()); - String defaultFlavorName = defaultFlavorOverride.isPresent() ? - defaultFlavorOverride.get() : zone.defaultFlavor(cluster.type()); - + String defaultFlavorName = zone.defaultFlavor(cluster.type()); switch(zone.environment()) { case dev : case test : case staging : return flavors.getFlavorOrThrow(defaultFlavorName); default : return flavors.getFlavorOrThrow(requestedFlavor.orElse(defaultFlavorName)); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java index 833418b6f1f..0ef5c03e543 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java @@ -85,8 +85,7 @@ public class NodeRepositoryProvisioner implements Provisioner { if (zone.environment().isManuallyDeployed() && nodeCount < requestedCapacity.nodeCount()) logger.log(Level.INFO, "Requested " + requestedCapacity.nodeCount() + " nodes for " + cluster + ", downscaling to " + nodeCount + " nodes in " + zone.environment()); - Optional<String> defaultFlavorOverride = nodeRepository.getDefaultFlavorOverride(application); - Flavor flavor = capacityPolicies.decideFlavor(requestedCapacity, cluster, defaultFlavorOverride); + Flavor flavor = capacityPolicies.decideFlavor(requestedCapacity, cluster); log.log(LogLevel.DEBUG, () -> "Decided flavor for requested tenant nodes: " + flavor); boolean exclusive = capacityPolicies.decideExclusivity(cluster.isExclusive()); effectiveGroups = wantedGroups > nodeCount ? nodeCount : wantedGroups; // cannot have more groups than nodes diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java index b33d776ac08..aaeb4316c57 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java @@ -1,19 +1,12 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.provision; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ApplicationName; -import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.NodeType; -import com.yahoo.config.provision.TenantName; -import com.yahoo.path.Path; import com.yahoo.vespa.hosted.provision.node.Agent; import org.junit.Test; -import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.HashSet; -import java.util.Optional; import java.util.Set; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -47,24 +40,6 @@ public class NodeRepositoryTest { } @Test - public void applicationDefaultFlavor() { - NodeRepositoryTester tester = new NodeRepositoryTester(); - - ApplicationId application = ApplicationId.from(TenantName.from("a"), ApplicationName.from("b"), InstanceName.from("c")); - - Path path = Path.fromString("/provision/v1/defaultFlavor").append(application.serializedForm()); - String flavor = "example-flavor"; - tester.curator().create(path); - tester.curator().set(path, flavor.getBytes(StandardCharsets.UTF_8)); - - assertEquals(Optional.of(flavor), tester.nodeRepository().getDefaultFlavorOverride(application)); - - ApplicationId applicationWithoutDefaultFlavor = - ApplicationId.from(TenantName.from("does"), ApplicationName.from("not"), InstanceName.from("exist")); - assertFalse(tester.nodeRepository().getDefaultFlavorOverride(applicationWithoutDefaultFlavor).isPresent()); - } - - @Test public void only_allow_docker_containers_remove_in_ready() { NodeRepositoryTester tester = new NodeRepositoryTester(); tester.addNode("id1", "host1", "docker", NodeType.tenant); |