From 8feeba1352d5e24819efe2a43b21368592ecc67a Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Wed, 26 Jul 2023 16:23:50 +0200 Subject: Remove active attribute --- .../config/application/api/DeploymentSpec.java | 10 +- .../api/xml/DeploymentSpecXmlReader.java | 14 +-- .../config/application/api/DeploymentSpecTest.java | 132 ++++++++++----------- .../api/DeploymentSpecWithoutInstanceTest.java | 96 ++++++--------- 4 files changed, 104 insertions(+), 148 deletions(-) (limited to 'config-model-api') diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java index 797be652ebc..358744d40f7 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.application.api; -import ai.vespa.validation.Validation; import com.yahoo.collections.Comparables; import com.yahoo.config.application.api.xml.DeploymentSpecXmlReader; import com.yahoo.config.provision.AthenzDomain; @@ -434,17 +433,16 @@ public class DeploymentSpec { private final Environment environment; private final Optional region; - private final boolean active; private final Optional athenzService; private final Optional testerFlavor; private final Map cloudAccounts; private final Optional hostTTL; public DeclaredZone(Environment environment) { - this(environment, Optional.empty(), false, Optional.empty(), Optional.empty(), Map.of(), Optional.empty()); + this(environment, Optional.empty(), Optional.empty(), Optional.empty(), Map.of(), Optional.empty()); } - public DeclaredZone(Environment environment, Optional region, boolean active, + public DeclaredZone(Environment environment, Optional region, Optional athenzService, Optional testerFlavor, Map cloudAccounts, Optional hostTTL) { if (environment != Environment.prod && region.isPresent()) @@ -454,7 +452,6 @@ public class DeploymentSpec { hostTTL.filter(Duration::isNegative).ifPresent(ttl -> illegal("Host TTL cannot be negative")); this.environment = Objects.requireNonNull(environment); this.region = Objects.requireNonNull(region); - this.active = active; this.athenzService = Objects.requireNonNull(athenzService); this.testerFlavor = Objects.requireNonNull(testerFlavor); this.cloudAccounts = Map.copyOf(cloudAccounts); @@ -466,9 +463,6 @@ public class DeploymentSpec { /** The region name, or empty if not declared */ public Optional region() { return region; } - /** Returns whether this zone should receive production traffic */ - public boolean active() { return active; } - public Optional testerFlavor() { return testerFlavor; } Optional athenzService() { return athenzService; } diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java index 13bc09883fa..4bfecabaf69 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java @@ -273,7 +273,7 @@ public class DeploymentSpecXmlReader { return List.of(new DeclaredTest(RegionName.from(XML.getValue(stepTag).trim()), readHostTTL(stepTag))); // A production test } case devTag, perfTag, stagingTag: // Intentional fallthrough from test tag. - return List.of(new DeclaredZone(Environment.from(stepTag.getTagName()), Optional.empty(), false, athenzService, testerFlavor, readCloudAccounts(stepTag), readHostTTL(stepTag))); + return List.of(new DeclaredZone(Environment.from(stepTag.getTagName()), Optional.empty(), athenzService, testerFlavor, readCloudAccounts(stepTag), readHostTTL(stepTag))); case prodTag: // regions, delay and parallel may be nested within, but we can flatten them return XML.getChildren(stepTag).stream() .flatMap(child -> readNonInstanceSteps(child, prodAttributes, stepTag, defaultBcp).stream()) @@ -682,7 +682,7 @@ public class DeploymentSpecXmlReader { private DeclaredZone readDeclaredZone(Environment environment, Optional athenzService, Optional testerFlavor, Element regionTag) { return new DeclaredZone(environment, Optional.of(RegionName.from(XML.getValue(regionTag).trim())), - readActive(regionTag), athenzService, testerFlavor, + athenzService, testerFlavor, readCloudAccounts(regionTag), readHostTTL(regionTag)); } @@ -784,16 +784,6 @@ public class DeploymentSpecXmlReader { }; } - private boolean readActive(Element regionTag) { - String activeValue = regionTag.getAttribute("active"); - if ("".equals(activeValue)) return true; // Default to active - deprecate(regionTag, List.of("active"), 7, "See https://cloud.vespa.ai/en/reference/routing#deprecated-syntax"); - if ("true".equals(activeValue)) return true; - if ("false".equals(activeValue)) return false; - throw new IllegalArgumentException("Value of 'active' attribute in region tag must be 'true' or 'false' " + - "to control whether this region should receive traffic from the global endpoint of this application"); - } - private void deprecate(Element element, List attributes, int majorVersion, String message) { deprecatedElements.add(new DeprecatedElement(majorVersion, element.getTagName(), attributes, message)); } diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java index c33277dfc6f..134d45e35ab 100644 --- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java +++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java @@ -116,8 +116,8 @@ public class DeploymentSpecTest { - us-east1 - us-west1 + us-east1 + us-west1 @@ -128,10 +128,8 @@ public class DeploymentSpecTest { assertEquals(2, spec.requireInstance("default").steps().size()); assertTrue(spec.requireInstance("default").steps().get(0).concerns(prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(0)).active()); assertTrue(spec.requireInstance("default").steps().get(1).concerns(prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(1)).active()); assertFalse(spec.requireInstance("default").concerns(test, Optional.empty())); assertFalse(spec.requireInstance("default").concerns(staging, Optional.empty())); @@ -154,14 +152,14 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-east1" + - " us-west1" + + " us-east1" + + " us-west1" + " " + " " + " " + " " + - " us-east1" + - " us-west1" + + " us-east1" + + " us-west1" + " " + " " + "" @@ -179,9 +177,9 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-east1" + + " us-east1" + " " + - " us-west1" + + " us-west1" + " " + " " + "" @@ -199,8 +197,8 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-east-1" + - " us-west-1" + + " us-east-1" + + " us-west-1" + " " + " us-west-1" + " us-east-1" + @@ -227,7 +225,7 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-east1" + + " us-east1" + " us-east1" + " us-east1" + " " + @@ -244,7 +242,7 @@ public class DeploymentSpecTest { " " + " " + " us-east1" + - " us-east1" + + " us-east1" + " " + " " + "" @@ -259,7 +257,7 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-east1" + + " us-east1" + " us-east1" + " " + " " + @@ -277,14 +275,14 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-east1" + + " us-east1" + " " + - " us-west1" + + " us-west1" + " " + " " + " " + " " + - " us-central1" + + " us-central1" + " " + " " + "" @@ -309,9 +307,9 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-east1" + + " us-east1" + " " + - " us-west1" + + " us-west1" + " " + " " + "" @@ -332,13 +330,11 @@ public class DeploymentSpecTest { assertTrue(instance.steps().get(1).concerns(staging)); assertTrue(instance.steps().get(2).concerns(prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)instance.steps().get(2)).active()); assertTrue(instance.steps().get(3) instanceof DeploymentSpec.Delay); assertEquals(3 * 60 * 60 + 30 * 60, instance.steps().get(3).delay().getSeconds()); assertTrue(instance.steps().get(4).concerns(prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)instance.steps().get(4)).active()); assertTrue(instance.concerns(test, Optional.empty())); assertTrue(instance.concerns(test, Optional.of(RegionName.from("region1")))); // test steps specify no region @@ -474,11 +470,11 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + - " us-central-1" + + " us-central-1" + " " + - " us-east-3" + + " us-east-3" + " " + " " + "" @@ -515,10 +511,10 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + - " us-central-1" + - " us-east-3" + + " us-central-1" + + " us-east-3" + " " + " " + " " + @@ -539,14 +535,14 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + " " + " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -579,25 +575,25 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + - " us-east-3" + + " us-east-3" + " " + - " eu-west-1" + + " eu-west-1" + " " + " " + " " + " " + - " aws-us-east-1a" + + " aws-us-east-1a" + " " + - " ap-northeast-1" + - " ap-southeast-2" + + " ap-northeast-1" + + " ap-southeast-2" + " aws-us-east-1a" + " " + " " + " " + " " + - " us-north-7" + + " us-north-7" + " " + " " + "" @@ -651,12 +647,12 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + " " + " " + - " us-east-3" + + " us-east-3" + " " + " " + " " + @@ -679,13 +675,13 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + " " + " " + " " + - " us-east-3" + + " us-east-3" + " " + " " + "" @@ -705,11 +701,11 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + - " us-west-1" + - " us-central-1" + - " us-east-3" + + " us-west-1" + + " us-central-1" + + " us-east-3" + " " + " " + " " + @@ -796,7 +792,7 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + " " + @@ -813,7 +809,7 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -830,7 +826,7 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -891,7 +887,7 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -909,10 +905,10 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-central-1" + + " us-central-1" + " " + - " us-west-1" + - " us-east-3" + + " us-west-1" + + " us-east-3" + " " + " " + " " + @@ -939,16 +935,16 @@ public class DeploymentSpecTest { - us-west-1 - us-east-3 + us-west-1 + us-east-3 - us-west-1 - us-east-3 + us-west-1 + us-east-3 @@ -971,7 +967,7 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -990,7 +986,7 @@ public class DeploymentSpecTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -1013,7 +1009,7 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -1027,7 +1023,7 @@ public class DeploymentSpecTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + " " + "" @@ -1356,14 +1352,14 @@ public class DeploymentSpecTest { - us-west-1 - us-east-3 + us-west-1 + us-east-3 - us-west-1 - us-east-3 + us-west-1 + us-east-3 @@ -1456,14 +1452,14 @@ public class DeploymentSpecTest { - us-west-1 - us-east-3 + us-west-1 + us-east-3 - us-west-1 - us-east-3 + us-west-1 + us-east-3 diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java index a8c3913c498..3a8d7ae1703 100644 --- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java +++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java @@ -96,8 +96,8 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "" + " " + - " us-east1" + - " us-west1" + + " us-east1" + + " us-west1" + " " + "" ); @@ -107,10 +107,8 @@ public class DeploymentSpecWithoutInstanceTest { assertEquals(2, spec.requireInstance("default").steps().size()); assertTrue(spec.requireInstance("default").steps().get(0).concerns(prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(0)).active()); assertTrue(spec.requireInstance("default").steps().get(1).concerns(prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(1)).active()); assertFalse(spec.requireInstance("default").concerns(test, Optional.empty())); assertFalse(spec.requireInstance("default").concerns(Environment.staging, Optional.empty())); @@ -129,9 +127,9 @@ public class DeploymentSpecWithoutInstanceTest { " " + " " + " " + - " us-east1" + + " us-east1" + " " + - " us-west1" + + " us-west1" + " " + "" ); @@ -145,13 +143,11 @@ public class DeploymentSpecWithoutInstanceTest { assertTrue(spec.requireInstance("default").steps().get(1).concerns(Environment.staging)); assertTrue(spec.requireInstance("default").steps().get(2).concerns(prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(2)).active()); assertTrue(spec.requireInstance("default").steps().get(3) instanceof DeploymentSpec.Delay); assertEquals(3 * 60 * 60 + 30 * 60, spec.requireInstance("default").steps().get(3).delay().getSeconds()); assertTrue(spec.requireInstance("default").steps().get(4).concerns(prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(4)).active()); assertTrue(spec.requireInstance("default").concerns(test, Optional.empty())); assertTrue(spec.requireInstance("default").concerns(test, Optional.of(RegionName.from("region1")))); // test steps specify no region @@ -168,8 +164,8 @@ public class DeploymentSpecWithoutInstanceTest { " " + " " + " " + - " us-east-1" + - " us-west-1" + + " us-east-1" + + " us-west-1" + " " + " us-west-1" + " us-east-1" + @@ -194,7 +190,7 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "" + " " + - " us-east1" + + " us-east1" + " us-east1" + " us-east1" + " " + @@ -209,7 +205,7 @@ public class DeploymentSpecWithoutInstanceTest { "" + " " + " us-east1" + - " us-east1" + + " us-east1" + " " + "" ); @@ -222,7 +218,7 @@ public class DeploymentSpecWithoutInstanceTest { "" + " " + " " + - " us-east1" + + " us-east1" + " us-east1" + " " + " " + @@ -231,26 +227,6 @@ public class DeploymentSpecWithoutInstanceTest { DeploymentSpec.fromXml(r); } - @Test(expected=IllegalArgumentException.class) - public void globalServiceIdInTest() { - StringReader r = new StringReader( - "" + - " " + - "" - ); - DeploymentSpec.fromXml(r); - } - - @Test(expected=IllegalArgumentException.class) - public void globalServiceIdInStaging() { - StringReader r = new StringReader( - "" + - " " + - "" - ); - DeploymentSpec.fromXml(r); - } - @Test public void productionSpecWithUpgradeRollout() { StringReader r = new StringReader( @@ -280,11 +256,11 @@ public class DeploymentSpecWithoutInstanceTest { "" + " " + " " + - " us-west-1" + + " us-west-1" + " " + - " us-central-1" + + " us-central-1" + " " + - " us-east-3" + + " us-east-3" + " " + "" ); @@ -323,10 +299,10 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "\n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + - " us-central-1\n" + - " us-east-3\n" + + " us-central-1\n" + + " us-east-3\n" + " \n" + " \n" + "" @@ -345,25 +321,25 @@ public class DeploymentSpecWithoutInstanceTest { " " + " " + " " + - " us-west-1" + + " us-west-1" + " " + - " us-east-3" + + " us-east-3" + " " + - " eu-west-1" + + " eu-west-1" + " " + " " + " " + " " + - " aws-us-east-1a" + + " aws-us-east-1a" + " " + - " ap-northeast-1" + - " ap-southeast-2" + + " ap-northeast-1" + + " ap-southeast-2" + " aws-us-east-1a" + " " + " " + " " + " " + - " us-north-7" + + " us-north-7" + " " + "" ); @@ -414,11 +390,11 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "\n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + - " us-west-1\n" + - " us-central-1\n" + - " us-east-3\n" + + " us-west-1\n" + + " us-central-1\n" + + " us-east-3\n" + " \n" + " \n" + "" @@ -437,7 +413,7 @@ public class DeploymentSpecWithoutInstanceTest { "\n" + " \n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + " \n" + "" @@ -452,7 +428,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + " \n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + "" ); @@ -466,7 +442,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + " \n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + "" ); @@ -495,7 +471,7 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "\n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + "" ); @@ -509,10 +485,10 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "" + " " + - " us-central-1" + + " us-central-1" + " " + - " us-west-1" + - " us-east-3" + + " us-west-1" + + " us-east-3" + " " + " " + "" @@ -535,7 +511,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + " \n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + "" ); @@ -552,7 +528,7 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "\n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + "" ); @@ -564,7 +540,7 @@ public class DeploymentSpecWithoutInstanceTest { StringReader r = new StringReader( "\n" + " \n" + - " us-west-1\n" + + " us-west-1\n" + " \n" + "" ); -- cgit v1.2.3