summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cloudinit/handlers/upstart_job.py4
-rw-r--r--tests/unittests/test_builtin_handlers.py9
2 files changed, 11 insertions, 2 deletions
diff --git a/cloudinit/handlers/upstart_job.py b/cloudinit/handlers/upstart_job.py
index 99e0afde..4e204da0 100644
--- a/cloudinit/handlers/upstart_job.py
+++ b/cloudinit/handlers/upstart_job.py
@@ -64,3 +64,7 @@ class UpstartJobPartHandler(handlers.Handler):
payload = util.dos2unix(payload)
path = os.path.join(self.upstart_dir, filename)
util.write_file(path, payload, 0644)
+
+ # if inotify support is not present in the root filesystem
+ # (overlayroot) then we need to tell upstart to re-read /etc
+ util.subp(["initctl", "reload-configuration"], capture=False)
diff --git a/tests/unittests/test_builtin_handlers.py b/tests/unittests/test_builtin_handlers.py
index ebc0bd51..5f41cb3d 100644
--- a/tests/unittests/test_builtin_handlers.py
+++ b/tests/unittests/test_builtin_handlers.py
@@ -6,6 +6,7 @@ from mocker import MockerTestCase
from cloudinit import handlers
from cloudinit import helpers
+from cloudinit import util
from cloudinit.handlers import upstart_job
@@ -34,6 +35,7 @@ class TestBuiltins(MockerTestCase):
self.assertEquals(0, len(os.listdir(up_root)))
def test_upstart_frequency_single(self):
+ # files should be written out when frequency is ! per-instance
c_root = self.makeDir()
up_root = self.makeDir()
paths = helpers.Paths({
@@ -41,9 +43,12 @@ class TestBuiltins(MockerTestCase):
'upstart_dir': up_root,
})
freq = PER_INSTANCE
+
+ mock_subp = self.mocker.replace(util.subp, passthrough=False)
+ mock_subp(["initctl", "reload-configuration"], capture=False)
+ self.mocker.replay()
+
h = upstart_job.UpstartJobPartHandler(paths)
- # No files should be written out when
- # the frequency is ! per-instance
h.handle_part('', handlers.CONTENT_START,
None, None, None)
h.handle_part('blah', 'text/upstart-job',