summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-10 11:10:53 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-10 11:10:53 +0200
commit29d518160600824dde81fdbadea40cda2dfba51f (patch)
treecc1d98aba772cb211301e22939689214ecb6aebf
parent79fbe75a324084d7e871e4aa7b82500e7ccd35b3 (diff)
Define tester names in InstanceName
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/InstanceName.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java9
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<InstanceName> {
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<NToken> 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<ApplicationPackage> 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());