summaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java102
1 files changed, 0 insertions, 102 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java
deleted file mode 100644
index db6b40f4c73..00000000000
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.node.admin.maintenance;
-
-import com.yahoo.io.IOUtils;
-import com.yahoo.vespa.hosted.dockerapi.ContainerName;
-import com.yahoo.vespa.hosted.node.admin.util.PrefixLogger;
-import com.yahoo.vespa.hosted.node.maintenance.DeleteOldAppData;
-import com.yahoo.vespa.hosted.node.maintenance.Maintainer;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.time.Duration;
-
-/**
- * @author valerijf
- */
-public class MaintenanceSchedulerImpl implements MaintenanceScheduler {
- private static final PrefixLogger NODE_ADMIN_LOGGER = PrefixLogger.getNodeAdminLogger(MaintenanceSchedulerImpl.class);
-
- private static final String[] baseArguments = {"sudo", "/home/y/libexec/vespa/node-admin/maintenance.sh"};
-
- @Override
- public void removeOldFilesFromNode(ContainerName containerName) {
- PrefixLogger logger = PrefixLogger.getNodeAgentLogger(MaintenanceSchedulerImpl.class, containerName);
-
- String[] pathsToClean = {"/home/y/logs/elasticsearch2", "/home/y/logs/logstash2",
- "/home/y/logs/daemontools_y", "/home/y/logs/nginx", "/home/y/logs/vespa"};
- for (String pathToClean : pathsToClean) {
- File path = Maintainer.pathInNodeAdminFromPathInNode(containerName, pathToClean).toFile();
- if (path.exists()) {
- DeleteOldAppData.deleteFiles(path.getAbsolutePath(), Duration.ofDays(3).getSeconds(), ".*\\.log\\..+", false);
- DeleteOldAppData.deleteFiles(path.getAbsolutePath(), Duration.ofDays(3).getSeconds(), ".*QueryAccessLog.*", false);
- }
- }
-
- File logArchiveDir = Maintainer.pathInNodeAdminFromPathInNode(containerName, "/home/y/logs/vespa/logarchive").toFile();
- if (logArchiveDir.exists()) {
- DeleteOldAppData.deleteFiles(logArchiveDir.getAbsolutePath(), Duration.ofDays(31).getSeconds(), null, false);
- }
-
- File fileDistrDir = Maintainer.pathInNodeAdminFromPathInNode(containerName, "/home/y/var/db/vespa/filedistribution").toFile();
- if (fileDistrDir.exists()) {
- DeleteOldAppData.deleteFiles(fileDistrDir.getAbsolutePath(), Duration.ofDays(31).getSeconds(), null, false);
- }
-
- execute(logger, Maintainer.JOB_CLEAN_CORE_DUMPS);
- }
-
- @Override
- public void cleanNodeAdmin() {
- execute(NODE_ADMIN_LOGGER, Maintainer.JOB_DELETE_OLD_APP_DATA);
- execute(NODE_ADMIN_LOGGER, Maintainer.JOB_CLEAN_HOME);
-
- File nodeAdminJDiskLogsPath = Maintainer.pathInNodeAdminFromPathInNode(new ContainerName("node-admin"),
- "/home/y/logs/jdisc_core/").toFile();
- DeleteOldAppData.deleteFiles(nodeAdminJDiskLogsPath.getAbsolutePath(), Duration.ofDays(31).getSeconds(), null, false);
- }
-
- @Override
- public void deleteContainerStorage(ContainerName containerName) throws IOException {
- PrefixLogger logger = PrefixLogger.getNodeAgentLogger(MaintenanceSchedulerImpl.class, containerName);
-
- File yVarDir = Maintainer.pathInNodeAdminFromPathInNode(containerName, "/home/y/var").toFile();
- if (yVarDir.exists()) {
- DeleteOldAppData.deleteDirectories(yVarDir.getAbsolutePath(), 0, null);
- }
-
- Path from = Maintainer.pathInNodeAdminFromPathInNode(containerName, "/");
- if (!Files.exists(from)) {
- logger.info("The application storage at " + from + " doesn't exist");
- return;
- }
-
- Path to = Maintainer.pathInNodeAdminToNodeCleanup(containerName);
- logger.info("Deleting application storage by moving it from " + from + " to " + to);
- //TODO: move to maintenance JVM
- Files.move(from, to);
- }
-
- private void execute(PrefixLogger logger, String... params) {
- try {
- Process p = Runtime.getRuntime().exec(concatenateArrays(baseArguments, params));
- String output = IOUtils.readAll(new InputStreamReader(p.getInputStream()));
- String errors = IOUtils.readAll(new InputStreamReader(p.getErrorStream()));
-
- if (! output.isEmpty()) logger.info(output);
- if (! errors.isEmpty()) logger.error(errors);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private static String[] concatenateArrays(String[] ar1, String[] ar2) {
- String[] concatenated = new String[ar1.length + ar2.length];
- System.arraycopy(ar1, 0, concatenated, 0, ar1.length);
- System.arraycopy(ar2, 0, concatenated, ar1.length, ar2.length);
- return concatenated;
- }
-} \ No newline at end of file