Merge lp:~roadmr/charms/trusty/logstash-forwarder/tunable-spool-size into lp:~canonical-is-sa/charms/trusty/logstash-forwarder/trunk

Proposed by Daniel Manrique
Status: Merged
Approved by: Laurent Sesquès
Approved revision: 25
Merged at revision: 23
Proposed branch: lp:~roadmr/charms/trusty/logstash-forwarder/tunable-spool-size
Merge into: lp:~canonical-is-sa/charms/trusty/logstash-forwarder/trunk
Diff against target: 86 lines (+17/-3)
5 files modified
config.yaml (+5/-0)
hooks/Config.py (+3/-0)
hooks/hooks.py (+1/-0)
templates/etcdefault.tmpl (+1/-1)
tests/10-install-tests (+7/-2)
To merge this branch: bzr merge lp:~roadmr/charms/trusty/logstash-forwarder/tunable-spool-size
Reviewer Review Type Date Requested Status
Laurent Sesquès Approve
Guillermo Gonzalez (community) Approve
Review via email: mp+344184@code.launchpad.net

Commit message

Make logstash-forwarder spool-size parameter tunable via a charm option.

This defaults to the same value the charm used before for backward compatibility.

Description of the change

Make logstash-forwarder spool-size parameter tunable via a charm option.

This defaults to the same value the charm used before for backward compatibility.

To post a comment you must log in.
Revision history for this message
Guillermo Gonzalez (verterok) wrote :

LGTM

review: Approve
Revision history for this message
Laurent Sesquès (sajoupa) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'config.yaml'
--- config.yaml 2015-11-13 22:39:14 +0000
+++ config.yaml 2018-04-24 20:10:38 +0000
@@ -55,6 +55,11 @@
55 is a yaml dict, e.g:55 is a yaml dict, e.g:
56 servers_name_map: |56 servers_name_map: |
57 logstash.devel.canonical.com: ip-of-logstash-or-logstash-haproxy57 logstash.devel.canonical.com: ip-of-logstash-or-logstash-haproxy
58 spool_size:
59 default: 100
60 description: >
61 event count spool threshold - forces network flush
62 type: int
58 ssl_ca_cert:63 ssl_ca_cert:
59 default: ""64 default: ""
60 type: string65 type: string
6166
=== modified file 'hooks/Config.py'
--- hooks/Config.py 2015-10-27 02:28:53 +0000
+++ hooks/Config.py 2018-04-24 20:10:38 +0000
@@ -48,6 +48,9 @@
48 def serverPort(self):48 def serverPort(self):
49 return self.getConfig("server_port")49 return self.getConfig("server_port")
5050
51 def spoolSize(self):
52 return self.getConfig("spool_size")
53
51 def servers(self):54 def servers(self):
52 return self.getConfig("servers").split()55 return self.getConfig("servers").split()
5356
5457
=== modified file 'hooks/hooks.py'
--- hooks/hooks.py 2018-04-17 20:14:18 +0000
+++ hooks/hooks.py 2018-04-24 20:10:38 +0000
@@ -58,6 +58,7 @@
58def writeEtcDefault():58def writeEtcDefault():
59 tmplData = {}59 tmplData = {}
60 tmplData["config_file"] = conf.configFile()60 tmplData["config_file"] = conf.configFile()
61 tmplData["spool_size"] = conf.spoolSize()
61 templateFile = os.path.join(charm_dir(), "templates", "etcdefault.tmpl")62 templateFile = os.path.join(charm_dir(), "templates", "etcdefault.tmpl")
62 t = Template(file=templateFile, searchList=tmplData)63 t = Template(file=templateFile, searchList=tmplData)
63 with open("/etc/default/logstash-forwarder", "w") as f:64 with open("/etc/default/logstash-forwarder", "w") as f:
6465
=== modified file 'templates/etcdefault.tmpl'
--- templates/etcdefault.tmpl 2015-05-22 03:31:40 +0000
+++ templates/etcdefault.tmpl 2018-04-24 20:10:38 +0000
@@ -2,4 +2,4 @@
2group="root"2group="root"
3chroot="/"3chroot="/"
4chdir="/var/lib/logstash-forwarder"4chdir="/var/lib/logstash-forwarder"
5args="-config ${config_file} -spool-size 100"5args="-config ${config_file} -spool-size ${spool_size}"
66
=== modified file 'tests/10-install-tests'
--- tests/10-install-tests 2018-04-17 20:05:44 +0000
+++ tests/10-install-tests 2018-04-24 20:10:38 +0000
@@ -11,6 +11,7 @@
1111
12d.configure("logstash-forwarder", {12d.configure("logstash-forwarder", {
13 "files": '{"apache":["/var/log/apache2/*log"]}',13 "files": '{"apache":["/var/log/apache2/*log"]}',
14 "spool_size": 4242,
14 })15 })
1516
16d.relate('apache2:juju-info', 'logstash-forwarder:juju-info')17d.relate('apache2:juju-info', 'logstash-forwarder:juju-info')
@@ -26,16 +27,20 @@
26unit = d.sentry['apache2/0']27unit = d.sentry['apache2/0']
2728
28# Did the package install ok?29# Did the package install ok?
29# We overwrite the init script, so ignore that one30# We overwrite the init script and may modify /etc/default file so ignore those.
30ret = unit.run("dpkg --verify logstash-forwarder")31ret = unit.run("dpkg --verify logstash-forwarder")
31for line in ret[0].split("\n"):32for line in ret[0].split("\n"):
32 if "init.d" not in line:33 if "init.d" not in line and "/etc/default/logstash-forwarder" not in line:
33 amulet.raise_status(amulet.FAIL, msg="logstash-forwarder package failed verification")34 amulet.raise_status(amulet.FAIL, msg="logstash-forwarder package failed verification")
3435
35# Do we have an /etc/default file?36# Do we have an /etc/default file?
36if "logstash-forwarder" not in unit.directory_contents("/etc/default")["files"]:37if "logstash-forwarder" not in unit.directory_contents("/etc/default")["files"]:
37 amulet.raise_status(amulet.FAIL, msg="/etc/default file was not created")38 amulet.raise_status(amulet.FAIL, msg="/etc/default file was not created")
3839
40# Does /etc/default have our custom spool size?
41if "-spool-size 4242" not in unit.file_contents("/etc/default/logstash-forwarder"):
42 amulet.raise_status(amulet.FAIL, msg="spool_size config option not honored")
43
39# Check the config file44# Check the config file
40cfg = json.loads(unit.file_contents("/etc/logstash-forwarder/logstash-forwarder.conf"))45cfg = json.loads(unit.file_contents("/etc/logstash-forwarder/logstash-forwarder.conf"))
41if cfg["files"][0]["paths"][0] != "/var/log/apache2/*log":46if cfg["files"][0]["paths"][0] != "/var/log/apache2/*log":

Subscribers

People subscribed via source and target branches