diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2020-05-26 12:06:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-26 12:06:37 +0200 |
commit | 2db5075555f93d5adbc5db67c53935d904e4aceb (patch) | |
tree | 99e941c88f421e695e41e8cb5b9b2a16664c8629 | |
parent | 1798dccc4ee472a4e4ba9d25c61e62fc0cbbed54 (diff) | |
parent | 6a35e9d233f30adef7027959e2bed8dba27c5482 (diff) |
Merge pull request #13373 from vespa-engine/mpolden/flip-default-flag-value
Let configserver-unset-endpoints default to true
8 files changed, 35 insertions, 34 deletions
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java index e977284e06c..27705e9c1e0 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java @@ -21,7 +21,6 @@ import com.yahoo.io.IOUtils; import com.yahoo.jdisc.Metric; import com.yahoo.test.ManualClock; import com.yahoo.text.Utf8; -import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.config.server.application.OrchestratorMock; import com.yahoo.vespa.config.server.deploy.DeployTester; import com.yahoo.vespa.config.server.http.InternalServerException; @@ -438,7 +437,6 @@ public class ApplicationRepositoryTest { AllocatedHosts info = session.getAllocatedHosts(); assertNotNull(info); assertThat(info.getHosts().size(), is(1)); - System.out.println(info.getHosts()); assertTrue(info.getHosts().contains(new HostSpec("mytesthost", Collections.emptyList(), Optional.empty()))); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/MiscTestCase.java b/configserver/src/test/java/com/yahoo/vespa/config/server/MiscTestCase.java index f8777f4c477..4df39f72ce9 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/MiscTestCase.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/MiscTestCase.java @@ -1,15 +1,21 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server; -import static org.junit.Assert.*; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.ArrayList; -import org.junit.Test; -import com.yahoo.vespa.config.util.ConfigUtils; import com.yahoo.config.AppConfig; import com.yahoo.config.Md5testConfig; +import com.yahoo.vespa.config.util.ConfigUtils; +import org.junit.Test; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.LineNumberReader; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; /** * Tests that does not yet have a specific home due to removed classes, obsolete features etc. @@ -25,8 +31,7 @@ public class MiscTestCase { */ @Test public void testGetDefMd5() throws IOException { - System.out.println("\nStarting testGetDefMd5"); - final String defDir = "src/test/resources/configdefinitions/"; + String defDir = "src/test/resources/configdefinitions/"; assertEquals(AppConfig.CONFIG_DEF_MD5, ConfigUtils.getDefMd5(file2lines(new File(defDir + "app.def")))); assertEquals(Md5testConfig.CONFIG_DEF_MD5, ConfigUtils.getDefMd5(file2lines(new File(defDir + "md5test.def")))); } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java index 561422c1cf8..965374f2aa4 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java @@ -147,10 +147,8 @@ public class SuperModelControllerTest { Applications.Hosts hosts = app.hosts(host); assertThat(hosts.hostname(), is(host)); for (Map.Entry<String, Applications.Hosts.Services> e : app.hosts(host).services().entrySet()) { - System.out.println(e.getKey()); if (QRSERVER.serviceName.equals(e.getKey())) { Applications.Hosts.Services s = e.getValue(); - System.out.println(s); assertThat(s.type(), is("qrserver")); assertThat(s.ports().size(), is(4)); assertThat(s.ports().get(0).number(), is(8000)); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/monitoring/ZKMetricUpdaterTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/monitoring/ZKMetricUpdaterTest.java index 607a2dca6c6..76a97927e78 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/monitoring/ZKMetricUpdaterTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/monitoring/ZKMetricUpdaterTest.java @@ -15,11 +15,15 @@ import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.concurrent.Executors; import java.util.function.Supplier; +import java.util.logging.Logger; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; public class ZKMetricUpdaterTest { + + private static final Logger LOG = Logger.getLogger(ZKMetricUpdaterTest.class.getName()); + private Thread serverThread; private int serverPort; @@ -81,13 +85,13 @@ public class ZKMetricUpdaterTest { output.close(); } } catch (IOException e) { - System.out.println("Error in fake ZK server: " + e.toString()); + LOG.severe("Error in fake ZK server: " + e.toString()); } } try { serverSocket.close(); } catch (IOException e) { - System.out.println("Error closing server socket in fake ZK server: " + e.toString()); + LOG.severe("Error closing server socket in fake ZK server: " + e.toString()); } }); serverThread.start(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java index 552ae841c3f..15ebe425e45 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java @@ -1,33 +1,29 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.session; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; - import com.yahoo.config.provision.TenantName; import com.yahoo.path.Path; import com.yahoo.text.Utf8; - import com.yahoo.vespa.config.server.GlobalComponentRegistry; -import com.yahoo.vespa.config.server.MockReloadHandler; import com.yahoo.vespa.config.server.TestComponentRegistry; -import com.yahoo.vespa.config.server.application.TenantApplications; import com.yahoo.vespa.config.server.tenant.Tenant; import com.yahoo.vespa.config.server.tenant.TenantBuilder; import com.yahoo.vespa.config.server.tenant.TenantRepository; +import com.yahoo.vespa.config.server.zookeeper.ConfigCurator; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import org.junit.Before; import org.junit.Test; -import com.yahoo.vespa.config.server.zookeeper.ConfigCurator; - import java.time.Duration; import java.util.concurrent.TimeUnit; import java.util.function.LongPredicate; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; + /** * @author Ulf Lilleengen */ @@ -116,7 +112,6 @@ public class RemoteSessionRepoTest { Path statePath = TenantRepository.getSessionsPath(tenantName).append("" + sessionId).append(ConfigCurator.SESSIONSTATE_ZK_SUBPATH); curator.create(statePath); curator.framework().setData().forPath(statePath.getAbsolute(), Utf8.toBytes(status.toString())); - System.out.println("Setting status " + status + " for " + sessionId); assertSessionStatus(sessionId, status); } 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 050320787db..36425b7fdad 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 @@ -176,7 +176,6 @@ public class SessionPreparerTest { ((HostRegistry<ApplicationId>)ctx.getHostValidator()).update(applicationId("default"), Collections.singletonList("mytesthost")); final StringBuilder logged = new StringBuilder(); DeployLogger logger = (level, message) -> { - System.out.println(level + ": "+message); if (level.equals(Level.WARNING) && message.contains("The host mytesthost is already in use")) logged.append("ok"); }; preparer.prepare(ctx, logger, new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now()); @@ -241,16 +240,19 @@ public class SessionPreparerTest { prepare(new File("src/test/resources/deploy/hosted-app"), params); assertEquals(expected, readContainerEndpoints(applicationId)); - // Preparing with empty container endpoints keeps old value + // Preparing with empty container endpoints clears endpoints params = new PrepareParams.Builder().applicationId(applicationId).containerEndpoints("[]").build(); prepare(new File("src/test/resources/deploy/hosted-app"), params); - assertEquals(expected, readContainerEndpoints(applicationId)); + assertEquals(List.of(), readContainerEndpoints(applicationId)); - // Preparing with empty container endpoints clears endpoints with feature flag set - flagSource.withBooleanFlag(Flags.CONFIGSERVER_UNSET_ENDPOINTS.id(), true); + // 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(List.of(), readContainerEndpoints(applicationId)); + assertEquals(expected, readContainerEndpoints(applicationId)); } @Test diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java index 8b9028fee4a..fa9efec1255 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java @@ -355,7 +355,6 @@ public class TenantRequestHandlerTest { assertTrue(configNames.contains(new ConfigKey<>("sentinel", "hosts", "cloud.config"))); configNames = server.listConfigs(ApplicationId.defaultId(), Optional.of(vespaVersion), true); - System.out.println(configNames); assertTrue(configNames.contains(new ConfigKey<>("documentmanager", "container", "document.config"))); assertTrue(configNames.contains(new ConfigKey<>("documentmanager", "", "document.config"))); assertTrue(configNames.contains(new ConfigKey<>("documenttypes", "", "document"))); 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 4e9c10417d4..60daddc7ee0 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -271,7 +271,7 @@ public class Flags { ZONE_ID); public static final UnboundBooleanFlag CONFIGSERVER_UNSET_ENDPOINTS = defineFeatureFlag( - "configserver-unset-endpoints", false, + "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 |