summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-03-12 16:07:14 +0100
committerValerij Fredriksen <valerijf@oath.com>2018-03-12 16:07:14 +0100
commit90832806feb086671dcb9a3d59922a84254dfd83 (patch)
tree9f1918d53991a79af6eca168cfc339342fafc542
parent3a8b891dcd7f394129a7a7ba700bf525126db44f (diff)
Write secret-agent config
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java1
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java30
2 files changed, 31 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
index fb31a7e5571..26a2d10f229 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
@@ -359,6 +359,7 @@ public class DockerOperationsImpl implements DockerOperations {
*/
private static Map<Path, Boolean> getDirectoriesToMount(Environment environment) {
final Map<Path, Boolean> directoriesToMount = new HashMap<>();
+ directoriesToMount.put(Paths.get("/var/log/secret-agent"), false);
directoriesToMount.put(Paths.get("/etc/yamas-agent"), true);
directoriesToMount.put(Paths.get("/etc/filebeat"), true);
directoriesToMount.put(environment.pathInNodeUnderVespaHome("logs/daemontools_y"), false);
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
index a09dea69a1c..72d488e361f 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
@@ -98,6 +98,7 @@ public class StorageMaintainer {
vespaSchedule.writeTo(yamasAgentFolder);
hostLifeSchedule.writeTo(yamasAgentFolder);
final String[] restartYamasAgent = new String[]{"service", "yamas-agent", "restart"};
+ writeSecretAgentConfig(containerName);
dockerOperations.executeCommandInContainerAsRoot(containerName, restartYamasAgent);
} catch (IOException e) {
throw new RuntimeException("Failed to write secret-agent schedules for " + containerName, e);
@@ -430,4 +431,33 @@ public class StorageMaintainer {
nextHandleOldCoredumpsAt = Instant.EPOCH;
}
}
+
+ private void writeSecretAgentConfig(ContainerName containerName) {
+ String config = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
+ "<log4j:configuration xmlns:log4j=\"http://jakarta.apache.org/log4j/\">\n" +
+ " <appender name=\"AppLog\" class=\"org.apache.log4j.rolling.RollingFileAppender\">\n" +
+ " <param name=\"Threshold\" value=\"Debug\" />\n" +
+ " <rollingPolicy class=\"org.apache.log4j.rolling.FixedWindowRollingPolicy\">\n" +
+ " <param name=\"FileNamePattern\" value=\"/var/log/secret-agent/collector-writer.%i\"/>\n" +
+ " <param name=\"MinIndex\" value=\"0\"/>\n" +
+ " <param name=\"MaxIndex\" value=\"100\"/>\n" +
+ " </rollingPolicy>\n" +
+ " <triggeringPolicy class=\"org.apache.log4j.rolling.SizeBasedTriggeringPolicy\">\n" +
+ " <param name=\"maxFileSize\" value=\"10MB\"/>\n" +
+ " </triggeringPolicy>\n" +
+ " <layout class=\"org.apache.log4j.PatternLayout\">\n" +
+ " <param name=\"ConversionPattern\" value=\"%d %-5p [%c] - %m%n\" />\n" +
+ " </layout>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <root>\n" +
+ " <priority value=\"all\" />\n" +
+ " <appender-ref ref=\"AppLog\" />\n" +
+ " </root>\n" +
+ "</log4j:configuration>";
+
+ Path configPath = Paths.get("/etc/secret-agent/log4cxx.collector-writer.xml");
+ String writeConfigCommand = String.format("echo '%s' > %s", config, configPath);
+ dockerOperations.executeCommandInContainerAsRoot(containerName, "/bin/sh", "-c", writeConfigCommand);
+ }
}