aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Tokle <mortent@yahooinc.com>2023-09-13 15:11:46 +0200
committerMorten Tokle <mortent@yahooinc.com>2023-09-13 15:11:46 +0200
commitd436081475e7c0dafbe5dc4763b0cf8778b7b98e (patch)
treea43f6b463585b1078f551a2dd538c685cb64da15
parent3139de06e2195d01d603f3d2905bed96dcd5760c (diff)
Remove obsolete flag
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java16
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java3
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java11
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java5
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java7
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",