summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogForwarder.java21
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java3
-rw-r--r--config-model/src/main/resources/schema/admin.rnc3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java5
-rw-r--r--config-model/src/test/schema-test-files/services.xml2
-rw-r--r--configdefinitions/src/vespa/logforwarder.def1
-rw-r--r--logforwarder/src/apps/vespa-logforwarder-start/cf-handler.cpp1
8 files changed, 25 insertions, 13 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogForwarder.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogForwarder.java
index d766507c75f..1f77b96244f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogForwarder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogForwarder.java
@@ -5,29 +5,31 @@ import com.yahoo.cloud.config.LogforwarderConfig;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.vespa.model.AbstractService;
-import java.util.ArrayList;
-import java.util.List;
-
public class LogForwarder extends AbstractService implements LogforwarderConfig.Producer {
public static class Config {
public final String deploymentServer;
public final String clientName;
public final String splunkHome;
+ public final Integer phoneHomeInterval;
- private Config(String ds, String cn, String sh) {
+ private Config(String ds, String cn, String sh, Integer phi) {
this.deploymentServer = ds;
this.clientName = cn;
this.splunkHome = sh;
+ this.phoneHomeInterval = phi;
}
public Config withDeploymentServer(String ds) {
- return new Config(ds, clientName, splunkHome);
+ return new Config(ds, clientName, splunkHome, phoneHomeInterval);
}
public Config withClientName(String cn) {
- return new Config(deploymentServer, cn, splunkHome);
+ return new Config(deploymentServer, cn, splunkHome, phoneHomeInterval);
}
public Config withSplunkHome(String sh) {
- return new Config(deploymentServer, clientName, sh);
+ return new Config(deploymentServer, clientName, sh, phoneHomeInterval);
+ }
+ public Config withPhoneHomeInterval(Integer phi) {
+ return new Config(deploymentServer, clientName, splunkHome, phi);
}
}
@@ -45,7 +47,7 @@ public class LogForwarder extends AbstractService implements LogforwarderConfig.
}
public static Config cfg() {
- return new Config(null, null, null);
+ return new Config(null, null, null, null);
}
/**
@@ -72,6 +74,9 @@ public class LogForwarder extends AbstractService implements LogforwarderConfig.
if (config.splunkHome != null) {
builder.splunkHome(config.splunkHome);
}
+ if (config.phoneHomeInterval != null) {
+ builder.phoneHomeInterval(config.phoneHomeInterval);
+ }
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
index bae9c52b06e..9de777a96ef 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
@@ -117,7 +117,8 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu
LogForwarder.Config cfg = LogForwarder.cfg()
.withSplunkHome(e.stringAttribute("splunk-home"))
.withDeploymentServer(e.stringAttribute("deployment-server"))
- .withClientName(e.stringAttribute("client-name"));
+ .withClientName(e.stringAttribute("client-name"))
+ .withPhoneHomeInterval(e.integerAttribute("phone-home-interval"));
admin.setLogForwarderConfig(cfg);
}
}
diff --git a/config-model/src/main/resources/schema/admin.rnc b/config-model/src/main/resources/schema/admin.rnc
index 3729f3ab57c..7a3e2916f94 100644
--- a/config-model/src/main/resources/schema/admin.rnc
+++ b/config-model/src/main/resources/schema/admin.rnc
@@ -97,6 +97,7 @@ LogForwarding = element logforwarding {
element splunk {
attribute splunk-home { xsd:string }? &
attribute deployment-server { xsd:string } &
- attribute client-name { xsd:string }
+ attribute client-name { xsd:string } &
+ attribute phone-home-interval { xsd:positiveInteger }?
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
index 6d65c2a472e..b7ceb0923b7 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
@@ -266,7 +266,7 @@ public class AdminTestCase {
" <admin version='2.0'>" +
" <adminserver hostalias='node0' />" +
" <logforwarding>" +
- " <splunk deployment-server='foo:123' client-name='foocli'/>" +
+ " <splunk deployment-server='foo:123' client-name='foocli' phone-home-interval='900' />" +
" </logforwarding>" +
" </admin>" +
"</services>";
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java
index 3896b6d799a..fc10e941091 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java
@@ -147,7 +147,7 @@ public class DedicatedAdminV4Test {
" <slobroks><nodes count='2' dedicated='true'/></slobroks>" +
" <logservers><nodes count='1' dedicated='true'/></logservers>" +
" <logforwarding>" +
- " <splunk deployment-server='foo:123' client-name='foocli'/>" +
+ " <splunk deployment-server='foo:123' client-name='foocli' phone-home-interval='900'/>" +
" </logforwarding>" +
" </admin>" +
"</services>";
@@ -173,6 +173,7 @@ public class DedicatedAdminV4Test {
assertEquals("foo:123", config.deploymentServer());
assertEquals("foocli", config.clientName());
assertEquals("/opt/splunkforwarder", config.splunkHome());
+ assertEquals(900, config.phoneHomeInterval());
}
// Other host's forwarder
@@ -183,6 +184,8 @@ public class DedicatedAdminV4Test {
assertEquals("foo:123", config.deploymentServer());
assertEquals("foocli", config.clientName());
+ assertEquals("/opt/splunkforwarder", config.splunkHome());
+ assertEquals(900, config.phoneHomeInterval());
}
}
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index d5a02949cf3..2bbd98f72ac 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -26,7 +26,7 @@
</consumer>
</metrics>
<logforwarding>
- <splunk deployment-server="foo:8989" client-name="foobar" splunk-home="/opt/splunk"/>
+ <splunk deployment-server="foo:8989" client-name="foobar" splunk-home="/opt/splunk" phone-home-interval="900"/>
</logforwarding>
</admin>
diff --git a/configdefinitions/src/vespa/logforwarder.def b/configdefinitions/src/vespa/logforwarder.def
index 7a924616aaa..ab56589298f 100644
--- a/configdefinitions/src/vespa/logforwarder.def
+++ b/configdefinitions/src/vespa/logforwarder.def
@@ -6,3 +6,4 @@ namespace=cloud.config
deploymentServer string default=""
clientName string default=""
splunkHome string default="/opt/splunkforwarder"
+phoneHomeInterval int default=60
diff --git a/logforwarder/src/apps/vespa-logforwarder-start/cf-handler.cpp b/logforwarder/src/apps/vespa-logforwarder-start/cf-handler.cpp
index 5517017eefa..fa702070f73 100644
--- a/logforwarder/src/apps/vespa-logforwarder-start/cf-handler.cpp
+++ b/logforwarder/src/apps/vespa-logforwarder-start/cf-handler.cpp
@@ -69,6 +69,7 @@ CfHandler::doConfigure()
fprintf(fp, "[deployment-client]\n");
fprintf(fp, "clientName = %s\n", config.clientName.c_str());
+ fprintf(fp, "phoneHomeIntervalInSecs = %s\n", config.phoneHomeInterval.c_str);
fprintf(fp, "\n");
fprintf(fp, "[target-broker:deploymentServer]\n");
fprintf(fp, "targetUri = %s\n", config.deploymentServer.c_str());