summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorBjørn Meland <bjormel@users.noreply.github.com>2019-05-14 15:13:17 +0200
committerGitHub <noreply@github.com>2019-05-14 15:13:17 +0200
commit9ace14e84f5953b4a112df84168df60d027f89a3 (patch)
tree44c8bf2269a13bf7565f384a54390fdf32a26849 /config-model
parent770ae3410092d425a506f26c97c877e58ff18cb1 (diff)
parentc1ee493315668f826d811b2a2920793baac52505 (diff)
Merge pull request #9336 from vespa-engine/bjormel/Splunk-phoneHomeIntervalInSecs
VESPA-15154: phoneHomeIntervalInSecs for Splunk deployment-client cfg
Diffstat (limited to 'config-model')
-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
6 files changed, 23 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>