Merge ~ballot/influxdb-charm/+git/influxdb-charm:lp1947882 into influxdb-charm:master

Proposed by Benjamin Allot
Status: Merged
Approved by: Tom Haddon
Approved revision: 430dae51dd6f50ed9367940b616ab47c71779915
Merged at revision: 51e86798f2febe6e38c8e1350b52102e90d98eaa
Proposed branch: ~ballot/influxdb-charm/+git/influxdb-charm:lp1947882
Merge into: influxdb-charm:master
Diff against target: 67 lines (+19/-0)
3 files modified
files/influxdb_override.conf (+2/-0)
layer.yaml (+1/-0)
reactive/influxdb.py (+16/-0)
Reviewer Review Type Date Requested Status
Tom Haddon Approve
Canonical IS Reviewers Pending
Review via email: mp+410551@code.launchpad.net

Commit message

Add a systemd override directive to avoid timeout on start

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Tom Haddon (mthaddon) :
review: Needs Fixing
Revision history for this message
Tom Haddon (mthaddon) wrote :

LGTM, thx

review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision 51e86798f2febe6e38c8e1350b52102e90d98eaa

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/files/influxdb_override.conf b/files/influxdb_override.conf
0new file mode 1006440new file mode 100644
index 0000000..0543121
--- /dev/null
+++ b/files/influxdb_override.conf
@@ -0,0 +1,2 @@
1[Service]
2TimeoutStartSec=30m
diff --git a/layer.yaml b/layer.yaml
index c68c892..103c49d 100644
--- a/layer.yaml
+++ b/layer.yaml
@@ -3,6 +3,7 @@ includes:
3 - layer:basic3 - layer:basic
4 - layer:apt4 - layer:apt
5 - layer:nagios5 - layer:nagios
6 - layer:status
6 - interface:http7 - interface:http
7 - interface:grafana-source8 - interface:grafana-source
8 - interface:influxdb-api9 - interface:influxdb-api
diff --git a/reactive/influxdb.py b/reactive/influxdb.py
index c751ea8..eb12dfd 100644
--- a/reactive/influxdb.py
+++ b/reactive/influxdb.py
@@ -1,6 +1,7 @@
1import os1import os
2import re2import re
3import shutil3import shutil
4import subprocess
4import yaml5import yaml
56
6from charmhelpers.contrib.charmsupport import nrpe7from charmhelpers.contrib.charmsupport import nrpe
@@ -9,6 +10,7 @@ from charmhelpers.core import host
9from charmhelpers.core.templating import render10from charmhelpers.core.templating import render
10from charms.reactive import hook, set_flag, clear_flag, when, when_all, when_not11from charms.reactive import hook, set_flag, clear_flag, when, when_all, when_not
11from charms import apt12from charms import apt
13from charms.layer import status
1214
13import influxdb15import influxdb
1416
@@ -19,6 +21,7 @@ CRONFILE = '/etc/cron.daily/influxdb-charm-backup'
19CHECK_SRC = 'files/check_influxdb.py'21CHECK_SRC = 'files/check_influxdb.py'
20CHECK_DIR = '/usr/local/lib/nagios/plugins'22CHECK_DIR = '/usr/local/lib/nagios/plugins'
21CHECK_CMD = CHECK_DIR + '/check_influxdb.py'23CHECK_CMD = CHECK_DIR + '/check_influxdb.py'
24INFLUXDB_SERVICE = "influxdb.service"
2225
2326
24@when('admin.available')27@when('admin.available')
@@ -146,6 +149,19 @@ def config_changed():
146 updated_config = apply_configs(f, conf)149 updated_config = apply_configs(f, conf)
147 host.write_file(target, updated_config.encode("utf-8"), perms=0o644)150 host.write_file(target, updated_config.encode("utf-8"), perms=0o644)
148151
152 # Write the systemd override timeout for the start of the service
153 if host.service_available(INFLUXDB_SERVICE):
154 systemd_override_dir = "/etc/systemd/system/{0}.d/".format(INFLUXDB_SERVICE)
155 host.mkdir(systemd_override_dir)
156 systemd_override = os.path.join(systemd_override_dir, "override.conf")
157 shutil.copy2("files/influxdb_override.conf", systemd_override)
158 hookenv.log("Setting TimeoutStartSec override for influxdb service", hookenv.DEBUG)
159 try:
160 subprocess.check_call(["systemctl", "daemon-reload"])
161 except (OSError, subprocess.CalledProcessError):
162 hookenv.log("Cannot reload systemd", hookenv.ERROR)
163 status.blocked("Cannot configure influxdb.service")
164 hookenv.log("Restarting influxdb service", hookenv.INFO)
149 host.service_stop('influxdb')165 host.service_stop('influxdb')
150 host.service_start('influxdb')166 host.service_start('influxdb')
151167

Subscribers

People subscribed via source and target branches

to all changes: