diff options
author | Morten Tokle <mortent@yahooinc.com> | 2023-09-13 15:11:46 +0200 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2023-09-13 15:11:46 +0200 |
commit | d436081475e7c0dafbe5dc4763b0cf8778b7b98e (patch) | |
tree | a43f6b463585b1078f551a2dd538c685cb64da15 | |
parent | 3139de06e2195d01d603f3d2905bed96dcd5760c (diff) |
Remove obsolete flag
7 files changed, 14 insertions, 31 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index e3d9a4f3335..37b24f0ac1d 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -113,7 +113,7 @@ public interface ModelContext { @ModelFeatureFlag(owners = {"baldersheim"}, comment = "Select summary decode type") default String summaryDecodePolicy() { return "eager"; } @ModelFeatureFlag(owners = {"hmusum"}, removeAfter = "8.219") default boolean allowMoreThanOneContentGroupDown(ClusterSpec.Id id) { return true; } @ModelFeatureFlag(owners = {"vekterli", "havardpe"}, removeAfter = "8.207") default boolean enableConditionalPutRemoveWriteRepair() { return true; } - @ModelFeatureFlag(owners = {"mortent", "olaa"}) default boolean enableDataplaneProxy() { return false; } + @ModelFeatureFlag(owners = {"mortent", "olaa"}, removeAfter = "8.227") default boolean enableDataplaneProxy() { return false; } @ModelFeatureFlag(owners = {"baldersheim"}) default boolean enableNestedMultivalueGrouping() { return false; } @ModelFeatureFlag(owners = {"jonmv"}) default boolean useReconfigurableDispatcher() { return false; } @ModelFeatureFlag(owners = {"vekterli"}) default int contentLayerMetadataFeatureLevel() { return 0; } diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java index c9a25e113a6..da81f7a90f2 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java @@ -144,7 +144,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public boolean allowUserFilters() { return allowUserFilters; } @Override public boolean enableGlobalPhase() { return true; } // Enable global-phase by default for unit tests only @Override public List<DataplaneToken> dataplaneTokens() { return dataplaneTokens; } - @Override public boolean enableDataplaneProxy() { return enableDataplaneProxy; } @Override public int contentLayerMetadataFeatureLevel() { return contentLayerMetadataFeatureLevel; } public TestProperties sharedStringRepoNoReclaim(boolean sharedStringRepoNoReclaim) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 2baf8f053c9..9804cb0b10d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -627,14 +627,12 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private void addCloudTokenSupport(DeployState state, ApplicationContainerCluster cluster) { var server = cluster.getHttp().getHttpServer().get(); - Set<String> tokenEndpoints = state.getEndpoints().stream() - .filter(endpoint -> endpoint.authMethod() == ApplicationClusterEndpoint.AuthMethod.token) + Set<String> tokenEndpoints = tokenEndpoints(state).stream() .map(ContainerEndpoint::names) .flatMap(Collection::stream) .collect(Collectors.toSet()); boolean enableTokenSupport = state.isHosted() && state.zone().system().isPublic() - && state.featureFlags().enableDataplaneProxy() && cluster.getClients().stream().anyMatch(c -> !c.tokens().isEmpty()) && ! tokenEndpoints.isEmpty(); if (!enableTokenSupport) return; @@ -1451,11 +1449,19 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } private static int getMtlsDataplanePort(DeployState ds) { - return ds.featureFlags().enableDataplaneProxy() ? 8443 : 4443; + boolean enableDataplaneProxy = ! tokenEndpoints(ds).isEmpty(); + return enableDataplaneProxy ? 8443 : 4443; } private static OptionalInt getTokenDataplanePort(DeployState ds) { - return ds.featureFlags().enableDataplaneProxy() ? OptionalInt.of(8444) : OptionalInt.empty(); + boolean enableDataplaneProxy = ! tokenEndpoints(ds).isEmpty(); + return enableDataplaneProxy ? OptionalInt.of(8444) : OptionalInt.empty(); + } + + private static Set<ContainerEndpoint> tokenEndpoints(DeployState deployState) { + return deployState.getEndpoints().stream() + .filter(endpoint -> endpoint.authMethod() == ApplicationClusterEndpoint.AuthMethod.token) + .collect(Collectors.toSet()); } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java index f08e5444b9e..bab2e666d0a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java @@ -198,7 +198,6 @@ public class ModelContextImpl implements ModelContext { private final int heapPercentage; private final boolean enableGlobalPhase; private final String summaryDecodePolicy; - private final boolean enableDataplaneProxy; private final boolean enableNestedMultivalueGrouping; private final boolean useReconfigurableDispatcher; private final int contentLayerMetadataFeatureLevel; @@ -241,7 +240,6 @@ public class ModelContextImpl implements ModelContext { this.heapPercentage = flagValue(source, appId, version, PermanentFlags.HEAP_SIZE_PERCENTAGE); this.enableGlobalPhase = flagValue(source, appId, version, Flags.ENABLE_GLOBAL_PHASE); this.summaryDecodePolicy = flagValue(source, appId, version, Flags.SUMMARY_DECODE_POLICY); - this.enableDataplaneProxy = flagValue(source, appId, version, Flags.ENABLE_DATAPLANE_PROXY); this.enableNestedMultivalueGrouping = flagValue(source, appId, version, Flags.ENABLE_NESTED_MULTIVALUE_GROUPING); this.useReconfigurableDispatcher = flagValue(source, appId, version, Flags.USE_RECONFIGURABLE_DISPATCHER); this.contentLayerMetadataFeatureLevel = flagValue(source, appId, version, Flags.CONTENT_LAYER_METADATA_FEATURE_LEVEL); @@ -292,7 +290,6 @@ public class ModelContextImpl implements ModelContext { return defVal; } @Override public boolean enableGlobalPhase() { return enableGlobalPhase; } - @Override public boolean enableDataplaneProxy() { return enableDataplaneProxy; } @Override public boolean enableNestedMultivalueGrouping() { return enableNestedMultivalueGrouping; } @Override public boolean useReconfigurableDispatcher() { return useReconfigurableDispatcher; } @Override public int contentLayerMetadataFeatureLevel() { return contentLayerMetadataFeatureLevel; } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java index 4e6a2946ec7..b5729cee880 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java @@ -79,7 +79,6 @@ public class RoutingController { private final Controller controller; private final RoutingPolicies routingPolicies; private final RotationRepository rotationRepository; - private final BooleanFlag createTokenEndpoint; private final BooleanFlag randomizedEndpoints; public RoutingController(Controller controller, RotationsConfig rotationsConfig) { @@ -88,7 +87,6 @@ public class RoutingController { this.rotationRepository = new RotationRepository(Objects.requireNonNull(rotationsConfig, "rotationsConfig must be non-null"), controller.applications(), controller.curator()); - this.createTokenEndpoint = Flags.ENABLE_DATAPLANE_PROXY.bindTo(controller.flagSource()); this.randomizedEndpoints = Flags.RANDOMIZED_ENDPOINT_NAMES.bindTo(controller.flagSource()); } @@ -133,12 +131,11 @@ public class RoutingController { // Add zone-scoped endpoints final GeneratedEndpoints generatedEndpoints; if (randomizedEndpointsEnabled(deployment.applicationId())) { // TODO(mpolden): Remove this guard once config-models < 8.220 are gone - boolean includeTokenEndpoint = tokenEndpointEnabled(deployment.applicationId()); Map<ClusterSpec.Id, List<GeneratedEndpoint>> generatedEndpointsByCluster = new HashMap<>(); RoutingPolicyList deploymentPolicies = policies().read(deployment); for (var container : services.containers()) { ClusterSpec.Id clusterId = ClusterSpec.Id.from(container.id()); - boolean tokenSupported = includeTokenEndpoint && container.authMethods().contains(BasicServicesXml.Container.AuthMethod.token); + boolean tokenSupported = container.authMethods().contains(BasicServicesXml.Container.AuthMethod.token); // Use already existing generated endpoints, if any List<GeneratedEndpoint> generatedForCluster = deploymentPolicies.cluster(clusterId) .first() @@ -176,7 +173,7 @@ public class RoutingController { /** Returns the zone- and region-scoped endpoints of given deployment */ public EndpointList endpointsOf(DeploymentId deployment, ClusterSpec.Id cluster, List<GeneratedEndpoint> generatedEndpoints) { - boolean tokenSupported = tokenEndpointEnabled(deployment.applicationId()) && generatedEndpoints.stream().anyMatch(ge -> ge.authMethod() == AuthMethod.token); + boolean tokenSupported = generatedEndpoints.stream().anyMatch(ge -> ge.authMethod() == AuthMethod.token); RoutingMethod routingMethod = controller.zoneRegistry().routingMethod(deployment.zoneId()); boolean isProduction = deployment.zoneId().environment().isProduction(); List<Endpoint> endpoints = new ArrayList<>(); @@ -495,10 +492,6 @@ public class RoutingController { return Collections.unmodifiableList(routingMethods); } - private boolean tokenEndpointEnabled(ApplicationId instance) { - return createTokenEndpoint.with(FetchVector.Dimension.APPLICATION_ID, instance.serializedForm()).value(); - } - public boolean randomizedEndpointsEnabled(ApplicationId instance) { return randomizedEndpoints.with(FetchVector.Dimension.APPLICATION_ID, instance.serializedForm()).value(); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java index 835243fdc01..bfc6d15eedb 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java @@ -1011,7 +1011,6 @@ public class RoutingPoliciesTest { var tester = new RoutingPoliciesTester(SystemName.Public); var context = tester.newDeploymentContext("tenant1", "app1", "default"); tester.controllerTester().flagSource().withBooleanFlag(Flags.RANDOMIZED_ENDPOINT_NAMES.id(), true); - tester.enableTokenEndpoint(true); addCertificateToPool("cafed00d", UnassignedCertificate.State.ready, tester); // Deploy application @@ -1235,10 +1234,6 @@ public class RoutingPoliciesTest { .toList(); } - void enableTokenEndpoint(boolean enabled) { - tester.controllerTester().flagSource().withBooleanFlag(Flags.ENABLE_DATAPLANE_PROXY.id(), enabled); - } - private void assertTargets(TenantAndApplicationId application, EndpointId endpointId, ClusterSpec.Id cluster, int loadBalancerId, Map<DeploymentId, Integer> deploymentWeights) { assertTargets(application, endpointId, cluster, loadBalancerId, deploymentWeights, false); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java index e9651cac44e..e8e218dd8a3 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -324,13 +324,6 @@ public class Flags { "Where specified, CNAME records are used instead of the default ALIAS records, which have a default 60s TTL.", "Takes effect at redeployment from controller"); - public static final UnboundBooleanFlag ENABLE_DATAPLANE_PROXY = defineFeatureFlag( - "enable-dataplane-proxy", false, - List.of("mortent", "olaa"), "2023-05-15", "2023-10-01", - "Whether to enable dataplane proxy", - "Takes effect at redeployment", - APPLICATION_ID - ); public static final UnboundBooleanFlag ENABLE_NESTED_MULTIVALUE_GROUPING = defineFeatureFlag( "enable-nested-multivalue-grouping", true, List.of("baldersheim"), "2023-06-29", "2023-12-31", |