diff options
author | Bjørn Meland <bjormel@users.noreply.github.com> | 2019-05-14 15:13:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-14 15:13:17 +0200 |
commit | 9ace14e84f5953b4a112df84168df60d027f89a3 (patch) | |
tree | 44c8bf2269a13bf7565f384a54390fdf32a26849 /config-model | |
parent | 770ae3410092d425a506f26c97c877e58ff18cb1 (diff) | |
parent | c1ee493315668f826d811b2a2920793baac52505 (diff) |
Merge pull request #9336 from vespa-engine/bjormel/Splunk-phoneHomeIntervalInSecs
VESPA-15154: phoneHomeIntervalInSecs for Splunk deployment-client cfg
Diffstat (limited to 'config-model')
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> |