summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java71
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java42
3 files changed, 17 insertions, 100 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
index 268c5d1be22..19e83da6be7 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
@@ -52,9 +52,7 @@ public final class ClusterSpec {
@Override
public String toString() {
- return type + " " + id +
- (groupId.isPresent() ? " " + groupId.get() : "") +
- (dockerImage.isPresent() ? " " + dockerImage.get() : "");
+ return type + " " + id + (groupId.isPresent() ? " " + groupId.get() : "");
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
index 8b4b7237662..bb7560e3740 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
@@ -1,7 +1,5 @@
package com.yahoo.vespa.config.server.deploy;
-import com.google.common.io.Files;
-import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.HostProvisioner;
@@ -19,7 +17,6 @@ import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostFilter;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.InstanceName;
-import com.yahoo.config.provision.ProvisionInfo;
import com.yahoo.config.provision.ProvisionLogger;
import com.yahoo.config.provision.Provisioner;
import com.yahoo.config.provision.Version;
@@ -43,6 +40,7 @@ import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.VespaModelFactory;
import java.io.File;
+import java.io.IOException;
import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
@@ -70,24 +68,17 @@ public class DeployTester {
}
public DeployTester(String appPath, List<ModelFactory> modelFactories) {
- this(appPath, modelFactories, new ConfigserverConfig(new ConfigserverConfig.Builder()
- .configServerDBDir(Files.createTempDir()
- .getAbsolutePath())));
- }
-
- public DeployTester(String appPath, ConfigserverConfig configserverConfig) {
- this(appPath,
- Collections.singletonList(createDefaultModelFactory(Clock.systemUTC())),
- configserverConfig);
- }
-
- public DeployTester(String appPath, List<ModelFactory> modelFactories, ConfigserverConfig configserverConfig) {
- Metrics metrics = Metrics.createTestMetrics();
- this.curator = new MockCurator();
- TestComponentRegistry componentRegistry = createComponentRegistry(curator, metrics, modelFactories, configserverConfig);
try {
+ this.curator = new MockCurator();
this.testApp = new File(appPath);
- this.tenants = new Tenants(componentRegistry, metrics);
+ ModelFactoryRegistry modelFactoryRegistry = new ModelFactoryRegistry(modelFactories);
+ final Metrics metrics = Metrics.createTestMetrics();
+ this.tenants = new Tenants(new TestComponentRegistry.Builder()
+ .curator(curator)
+ .modelFactoryRegistry(modelFactoryRegistry)
+ .metrics(metrics)
+ .build(),
+ metrics);
}
catch (Exception e) {
throw new IllegalArgumentException(e);
@@ -105,23 +96,12 @@ public class DeployTester {
/**
* Do the initial "deploy" with the existing API-less code as the deploy API doesn't support first deploys yet.
*/
- public ApplicationId deployApp(String appName){
- return deployApp(appName, Optional.empty());
- }
-
- /**
- * Do the initial "deploy" with the existing API-less code as the deploy API doesn't support first deploys yet.
- */
- public ApplicationId deployApp(String appName, Optional<String> dockerVespaImageVersion) {
+ public ApplicationId deployApp(String appName) {
final Tenant tenant = tenant();
LocalSession session = tenant.getSessionFactory().createSession(testApp, appName, new TimeoutBudget(Clock.systemUTC(), Duration.ofSeconds(60)));
ApplicationId id = ApplicationId.from(tenant.getName(), ApplicationName.from(appName), InstanceName.defaultName());
- PrepareParams.Builder paramsBuilder = new PrepareParams.Builder()
- .applicationId(id);
- if (dockerVespaImageVersion.isPresent())
- paramsBuilder.dockerVespaImageVersion(dockerVespaImageVersion.get());
session.prepare(new SilentDeployLogger(),
- paramsBuilder.build(),
+ new PrepareParams.Builder().applicationId(id).build(),
Optional.empty(),
tenant.getPath());
session.createActivateTransaction().commit();
@@ -129,14 +109,7 @@ public class DeployTester {
this.id = id;
return id;
}
-
- public ProvisionInfo getProvisionInfoFromDeployedApp(ApplicationId applicationId) {
- final Tenant tenant = tenant();
- LocalSession session = tenant.getLocalSessionRepo().getSession(tenant.getApplicationRepo()
- .getSessionIdForApplication(applicationId));
- return session.getProvisionInfo();
- }
-
+
public ApplicationId applicationId() { return id; }
public Optional<com.yahoo.config.provision.Deployment> redeployFromLocalActive() {
@@ -154,23 +127,7 @@ public class DeployTester {
}
private Provisioner createHostProvisioner() {
- return new ProvisionerAdapter(new InMemoryProvisioner(true, "host0", "host1", "host2", "host3", "host4", "host5"));
- }
-
- private TestComponentRegistry createComponentRegistry(Curator curator, Metrics metrics,
- List<ModelFactory> modelFactories,
- ConfigserverConfig configserverConfig) {
- TestComponentRegistry.Builder builder = new TestComponentRegistry.Builder();
-
- if (configserverConfig.hostedVespa()) {
- builder.provisioner(createHostProvisioner());
- }
-
- builder.configServerConfig(configserverConfig)
- .curator(curator)
- .modelFactoryRegistry(new ModelFactoryRegistry(modelFactories))
- .metrics(metrics);
- return builder.build();
+ return new ProvisionerAdapter(new InMemoryProvisioner(true, "host0", "host1", "host2"));
}
private static class ProvisionerAdapter implements Provisioner {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
index 1578bacf429..25efbc77a17 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
@@ -1,13 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.deploy;
-import com.google.common.io.Files;
-import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.api.ModelFactory;
-import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Version;
import com.yahoo.test.ManualClock;
-import org.junit.Ignore;
import org.junit.Test;
import java.io.IOException;
@@ -16,7 +12,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -24,21 +19,10 @@ import static org.junit.Assert.fail;
* @author bratseth
*/
public class HostedDeployTest {
- private static final String dockerRegistry = "foo.com:4443";
- private static final String dockerVespaBaseImage = "/vespa/ci";
- private static final ConfigserverConfig config = new ConfigserverConfig(new ConfigserverConfig.Builder()
- .configServerDBDir(Files.createTempDir()
- .getAbsolutePath())
- .dockerRegistry(dockerRegistry)
- .dockerVespaBaseImage(dockerVespaBaseImage)
- .configServerDBDir(Files.createTempDir()
- .getAbsolutePath())
- .hostedVespa(true)
- .multitenant(true));
@Test
public void testRedeploy() throws InterruptedException, IOException {
- DeployTester tester = new DeployTester("src/test/apps/hosted/", config);
+ DeployTester tester = new DeployTester("src/test/apps/hosted/");
tester.deployApp("myApp");
Optional<com.yahoo.config.provision.Deployment> deployment = tester.redeployFromLocalActive();
@@ -54,7 +38,7 @@ public class HostedDeployTest {
List<ModelFactory> modelFactories = new ArrayList<>();
modelFactories.add(DeployTester.createDefaultModelFactory(clock));
modelFactories.add(DeployTester.createFailingModelFactory(Version.fromIntValues(1, 0, 0))); // older than default
- DeployTester tester = new DeployTester("src/test/apps/validationOverride/", modelFactories, config);
+ DeployTester tester = new DeployTester("src/test/apps/validationOverride/", modelFactories);
tester.deployApp("myApp");
// Redeployment from local active works
@@ -87,26 +71,4 @@ public class HostedDeployTest {
}
}
- @Test
- @Ignore //WIP
- public void testDeployWithDockerImage() throws InterruptedException, IOException {
- final String vespaVersion = "6.51.1";
- DeployTester tester = new DeployTester("src/test/apps/hosted/", config);
- ApplicationId applicationId = tester.deployApp("myApp", Optional.of(vespaVersion));
- assertProvisionInfo(vespaVersion, tester, applicationId);
-
- System.out.println("Redeploy");
- Optional<com.yahoo.config.provision.Deployment> deployment = tester.redeployFromLocalActive();
- assertTrue(deployment.isPresent());
- deployment.get().prepare();
- deployment.get().activate();
- //assertProvisionInfo(vespaVersion, tester, applicationId);
- }
-
- private void assertProvisionInfo(String vespaVersion, DeployTester tester, ApplicationId applicationId) {
- tester.getProvisionInfoFromDeployedApp(applicationId).getHosts().stream()
- .forEach(h -> assertEquals(dockerRegistry + dockerVespaBaseImage + ":" + vespaVersion,
- h.membership().get().cluster().dockerImage().get()));
- }
-
}