From 29d518160600824dde81fdbadea40cda2dfba51f Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Mon, 10 Sep 2018 11:10:53 +0200 Subject: Define tester names in InstanceName --- .../src/main/java/com/yahoo/config/provision/InstanceName.java | 4 ++++ .../com/yahoo/vespa/hosted/controller/ApplicationController.java | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java index 0f1b298ba83..703528e5d33 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java @@ -46,6 +46,10 @@ public class InstanceName implements Comparable { return equals(InstanceName.defaultName()); } + public boolean isTester() { + return value().endsWith("-t"); + } + public String value() { return instanceName; } @Override diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index ab4d05af0e9..a2aab587466 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -246,7 +246,9 @@ public class ApplicationController { */ public Application createApplication(ApplicationId id, Optional token) { if ( ! (id.instance().isDefault())) // TODO: Support instances properly - throw new UnsupportedOperationException("Only the instance name 'default' is supported at the moment"); + throw new IllegalArgumentException("Only the instance name 'default' is supported at the moment"); + if (id.instance().isTester()) + throw new IllegalArgumentException("'" + id + "' is a tester application!"); try (Lock lock = lock(id)) { // Validate only application names which do not already exist. if (asList(id.tenant()).stream().noneMatch(application -> application.id().application().equals(id.application()))) @@ -279,6 +281,9 @@ public class ApplicationController { public ActivateResult deploy(ApplicationId applicationId, ZoneId zone, Optional applicationPackageFromDeployer, DeployOptions options) { + if (applicationId.instance().isTester()) + throw new IllegalArgumentException("'" + applicationId + "' is a tester application!"); + try (Lock lock = lock(applicationId)) { LockedApplication application = get(applicationId) .map(app -> new LockedApplication(app, lock)) @@ -381,7 +386,7 @@ public class ApplicationController { /** Assembles and deploys a tester application to the given zone. */ public ActivateResult deployTester(ApplicationId tester, ApplicationPackage applicationPackage, ZoneId zone, DeployOptions options) { - if ( ! tester.instance().value().endsWith("-t")) + if ( ! tester.instance().isTester()) throw new IllegalArgumentException("'" + tester + "' is not a tester application!"); return deploy(tester, applicationPackage, zone, options, Collections.emptySet(), Collections.emptySet()); -- cgit v1.2.3