summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2018-03-12 16:30:13 +0100
committerGitHub <noreply@github.com>2018-03-12 16:30:13 +0100
commit15e35752807d5d1fadb638895405079574107458 (patch)
tree587a3dcf1b5a9ec228e73ce6162f01848fc6d6bd
parent7b9cf1820056d161ce761d0c040f7ceb21728f13 (diff)
parent90832806feb086671dcb9a3d59922a84254dfd83 (diff)
Merge pull request #5293 from vespa-engine/freva/write-secret-agent-config
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);
+ }
}