Martin Peřina has uploaded a new change for review.

Change subject: tools: Adds notifier config validation prior to service startup
......................................................................

tools: Adds notifier config validation prior to service startup

Executes notifier config validation prior service startup. If validation
fails, service returns error exit code.

Change-Id: I11ad77a33697f254e60e1d0b12e343900e5b0b34
Bug-Url: https://bugzilla.redhat.com/989382
Signed-off-by: Martin Perina <mper...@redhat.com>
---
M packaging/pythonlib/ovirt_engine/service.py
M packaging/services/ovirt-engine-notifier/ovirt-engine-notifier.py
2 files changed, 22 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/22629/1

diff --git a/packaging/pythonlib/ovirt_engine/service.py 
b/packaging/pythonlib/ovirt_engine/service.py
index a82e04c..b25d58b 100644
--- a/packaging/pythonlib/ovirt_engine/service.py
+++ b/packaging/pythonlib/ovirt_engine/service.py
@@ -371,6 +371,8 @@
 
         self.daemonSetup()
 
+        self.preDaemonExec()
+
         stdout, stderr = (sys.stdout, sys.stderr)
         if self._options.redirectOutput:
             stdout, stderr = self.daemonStdHandles()
@@ -500,6 +502,10 @@
         """Return handles for daemon context"""
         return (sys.stdout, sys.stderr)
 
+    def preDaemonExec(self):
+        """Called prior to daemon execution"""
+        pass
+
     def daemonContext(self):
         """Daemon logic
         Called within daemon context
diff --git a/packaging/services/ovirt-engine-notifier/ovirt-engine-notifier.py 
b/packaging/services/ovirt-engine-notifier/ovirt-engine-notifier.py
index fa8bbd7..cd7089b 100755
--- a/packaging/services/ovirt-engine-notifier/ovirt-engine-notifier.py
+++ b/packaging/services/ovirt-engine-notifier/ovirt-engine-notifier.py
@@ -16,6 +16,7 @@
 
 
 import os
+import subprocess
 import sys
 import gettext
 _ = lambda m: gettext.dgettext(message=m, domain='ovirt-engine')
@@ -187,6 +188,21 @@
             ),
         )
 
+    def preDaemonExec(self):
+        """Validates notifier configurations"""
+        args = self._engineArgs + ['validate']
+        self.logger.debug('Executing: %s', args)
+        proc = subprocess.Popen(
+            args=args,
+            executable=self._executable,
+            env=self._engineEnv,
+        )
+
+        proc.wait()
+
+        if proc.returncode != 0:
+            raise RuntimeError('Error validating notifier configuration')
+
 
 if __name__ == '__main__':
     service.setupLogger()


-- 
To view, visit http://gerrit.ovirt.org/22629
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I11ad77a33697f254e60e1d0b12e343900e5b0b34
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <mper...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to