aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java35
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java10
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java7
3 files changed, 4 insertions, 48 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index e63244cd57b..9eb25ff2339 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -44,7 +44,6 @@ import com.yahoo.vespa.config.server.tenant.EndpointCertificateMetadataStore;
import com.yahoo.vespa.config.server.tenant.EndpointCertificateRetriever;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.flags.BooleanFlag;
-import com.yahoo.vespa.flags.FetchVector;
import com.yahoo.vespa.flags.FlagSource;
import com.yahoo.vespa.flags.Flags;
import org.xml.sax.SAXException;
@@ -81,7 +80,6 @@ public class SessionPreparer {
private final Zone zone;
private final SecretStore secretStore;
private final BooleanFlag distributeApplicationPackage;
- private final BooleanFlag unsetEndpoints;
@Inject
public SessionPreparer(ModelFactoryRegistry modelFactoryRegistry,
@@ -104,7 +102,6 @@ public class SessionPreparer {
this.zone = zone;
this.secretStore = secretStore;
this.distributeApplicationPackage = Flags.CONFIGSERVER_DISTRIBUTE_APPLICATION_PACKAGE.bindTo(flagSource);
- this.unsetEndpoints = Flags.CONFIGSERVER_UNSET_ENDPOINTS.bindTo(flagSource);
}
/**
@@ -120,10 +117,7 @@ public class SessionPreparer {
public ConfigChangeActions prepare(SessionContext context, DeployLogger logger, PrepareParams params,
Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath,
Instant now) {
- boolean allowUnsettingEndpoints = unsetEndpoints.with(FetchVector.Dimension.APPLICATION_ID, params.getApplicationId().serializedForm())
- .value();
- Preparation preparation = new Preparation(context, logger, params, currentActiveApplicationSet, tenantPath,
- allowUnsettingEndpoints);
+ Preparation preparation = new Preparation(context, logger, params, currentActiveApplicationSet, tenantPath);
preparation.distributeApplicationPackage(); // Note: Done before pre-processing, requires that to be done for users of this
preparation.preprocess();
try {
@@ -132,11 +126,7 @@ public class SessionPreparer {
if ( ! params.isDryRun()) {
preparation.writeStateZK();
preparation.writeEndpointCertificateMetadataZK();
- if (allowUnsettingEndpoints) {
- preparation.writeContainerEndpointsZK();
- } else {
- preparation.legacyWriteContainerEndpointsZK();
- }
+ preparation.writeContainerEndpointsZK();
preparation.writeApplicationRoles();
preparation.distribute();
}
@@ -184,8 +174,7 @@ public class SessionPreparer {
private final FileDistributionProvider fileDistributionProvider;
Preparation(SessionContext context, DeployLogger logger, PrepareParams params,
- Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath,
- boolean allowUnsettingEndpoints) {
+ Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath) {
this.context = context;
this.logger = logger;
this.params = params;
@@ -202,11 +191,7 @@ public class SessionPreparer {
endpointCertificateSecrets = endpointCertificateMetadata
.or(() -> endpointCertificateMetadataStore.readEndpointCertificateMetadata(applicationId))
.flatMap(endpointCertificateRetriever::readEndpointCertificateSecrets);
- if (allowUnsettingEndpoints) {
- this.containerEndpoints = readEndpointsIfNull(params.containerEndpoints());
- } else {
- this.containerEndpoints = getEndpoints(params.containerEndpoints());
- }
+ this.containerEndpoints = readEndpointsIfNull(params.containerEndpoints());
this.athenzDomain = params.athenzDomain();
this.applicationRolesStore = new ApplicationRolesStore(curator, tenantPath);
this.applicationRoles = params.applicationRoles()
@@ -305,12 +290,6 @@ public class SessionPreparer {
checkTimeout("write container endpoints to zookeeper");
}
- void legacyWriteContainerEndpointsZK() {
- if (!containerEndpoints.isEmpty()) {
- writeContainerEndpointsZK();
- }
- }
-
void writeApplicationRoles() {
applicationRoles.ifPresent(roles ->
applicationRolesStore.writeApplicationRoles(applicationId, roles));
@@ -334,12 +313,6 @@ public class SessionPreparer {
return List.copyOf(endpoints);
}
- private List<ContainerEndpoint> getEndpoints(List<ContainerEndpoint> endpoints) {
- if (endpoints == null || endpoints.isEmpty()) {
- endpoints = this.containerEndpointsCache.read(applicationId);
- }
- return List.copyOf(endpoints);
- }
}
private void writeStateToZooKeeper(SessionZooKeeperClient zooKeeperClient,
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 36425b7fdad..eaa3991c0d3 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -45,7 +45,6 @@ import com.yahoo.vespa.config.server.tenant.EndpointCertificateMetadataStore;
import com.yahoo.vespa.config.server.tenant.EndpointCertificateRetriever;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
import com.yahoo.vespa.curator.mock.MockCurator;
-import com.yahoo.vespa.flags.Flags;
import com.yahoo.vespa.flags.InMemoryFlagSource;
import org.junit.Before;
import org.junit.Rule;
@@ -244,15 +243,6 @@ public class SessionPreparerTest {
params = new PrepareParams.Builder().applicationId(applicationId).containerEndpoints("[]").build();
prepare(new File("src/test/resources/deploy/hosted-app"), params);
assertEquals(List.of(), readContainerEndpoints(applicationId));
-
- // Preparing with empty container endpoints keeps old value with feature flag turned off
- params = new PrepareParams.Builder().applicationId(applicationId).containerEndpoints(endpoints).build();
- prepare(new File("src/test/resources/deploy/hosted-app"), params);
- assertEquals(expected, readContainerEndpoints(applicationId));
- flagSource.withBooleanFlag(Flags.CONFIGSERVER_UNSET_ENDPOINTS.id(), false);
- params = new PrepareParams.Builder().applicationId(applicationId).containerEndpoints("[]").build();
- prepare(new File("src/test/resources/deploy/hosted-app"), params);
- assertEquals(expected, readContainerEndpoints(applicationId));
}
@Test
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 60daddc7ee0..944f02a62a4 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -270,13 +270,6 @@ public class Flags {
"Takes effect on next deployment (controller)",
ZONE_ID);
- public static final UnboundBooleanFlag CONFIGSERVER_UNSET_ENDPOINTS = defineFeatureFlag(
- "configserver-unset-endpoints", true,
- "Whether the configserver allows removal of existing endpoints when an empty list of container endpoints is request",
- "Takes effect on next external deployment",
- APPLICATION_ID
- );
-
public static final UnboundIntFlag JDISC_HEALTH_CHECK_PROXY_CLIENT_TIMEOUT = defineIntFlag(
"jdisc-health-check-proxy-client-timeout", 1000,
"Temporary flag to rollout reduced timeout for JDisc's health check proxy client. Timeout in milliseconds",