summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2020-03-27 11:53:58 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2020-03-27 11:53:58 +0100
commit97e0a1a1970a195685be8c97656e63c287fc1209 (patch)
tree6d17732d0872ad569a53d22a3f47e181ebec8959 /node-admin
parent2cf7d6095c963af94b9de9c0b05ee93f9747e19d (diff)
Log when updating default-env.txt
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriter.java8
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriterTest.java14
2 files changed, 19 insertions, 3 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriter.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriter.java
index 83ac3eeeaf4..22cabdc8ed9 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriter.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriter.java
@@ -1,6 +1,8 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.admin.task.util;
+import com.yahoo.vespa.hosted.node.admin.component.TaskContext;
+
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -10,6 +12,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
+import java.util.logging.Logger;
import static com.yahoo.vespa.hosted.node.admin.task.util.file.IOExceptionUtil.ifExists;
import static com.yahoo.yolean.Exceptions.uncheck;
@@ -23,6 +26,8 @@ import static java.util.stream.Collectors.joining;
*/
public class DefaultEnvWriter {
+ private static final Logger logger = Logger.getLogger(DefaultEnvWriter.class.getName());
+
private final Map<String, Operation> operations = new LinkedHashMap<>();
public DefaultEnvWriter addOverride(String name, String value) {
@@ -50,12 +55,13 @@ public class DefaultEnvWriter {
*
* @return true if the file was modified
*/
- public boolean updateFile(Path defaultEnvFile) {
+ public boolean updateFile(TaskContext context, Path defaultEnvFile) {
List<String> currentDefaultEnvLines = ifExists(() -> Files.readAllLines(defaultEnvFile)).orElse(List.of());
List<String> newDefaultEnvLines = generateContent(currentDefaultEnvLines);
if (currentDefaultEnvLines.equals(newDefaultEnvLines)) {
return false;
} else {
+ context.log(logger, "Updating " + defaultEnvFile.toString());
Path tempFile = Paths.get(defaultEnvFile.toString() + ".tmp");
uncheck(() -> Files.write(tempFile, newDefaultEnvLines));
uncheck(() -> Files.move(tempFile, defaultEnvFile, ATOMIC_MOVE));
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriterTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriterTest.java
index a81ad8ff2eb..a2457266560 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriterTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvWriterTest.java
@@ -1,6 +1,7 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.admin.task.util;
+import com.yahoo.vespa.hosted.node.admin.component.TaskContext;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@@ -9,11 +10,16 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.logging.Logger;
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
/**
* @author bjorncs
@@ -26,6 +32,8 @@ public class DefaultEnvWriterTest {
private static final Path EXAMPLE_FILE = Paths.get("src/test/resources/default-env-example.txt");
private static final Path EXPECTED_RESULT_FILE = Paths.get("src/test/resources/default-env-rewritten.txt");
+ private final TaskContext context = mock(TaskContext.class);
+
@Test
public void default_env_is_correctly_rewritten() throws IOException {
Path tempFile = temporaryFolder.newFile().toPath();
@@ -36,14 +44,16 @@ public class DefaultEnvWriterTest {
writer.addFallback("VESPA_CONFIGSERVER", "new-fallback-configserver");
writer.addOverride("VESPA_TLS_CONFIG_FILE", "/override/path/to/config.file");
- boolean modified = writer.updateFile(tempFile);
+ boolean modified = writer.updateFile(context, tempFile);
assertTrue(modified);
assertEquals(Files.readString(EXPECTED_RESULT_FILE), Files.readString(tempFile));
+ verify(context, times(1)).log(any(Logger.class), any(String.class));
- modified = writer.updateFile(tempFile);
+ modified = writer.updateFile(context, tempFile);
assertFalse(modified);
assertEquals(Files.readString(EXPECTED_RESULT_FILE), Files.readString(tempFile));
+ verify(context, times(1)).log(any(Logger.class), any(String.class));
}
@Test