Yaniv Bronhaim has uploaded a new change for review.

Change subject: Changing the order of the services management alternatives
......................................................................

Changing the order of the services management alternatives

Prefer initctl, then systemctl

Change-Id: I678cee34d02ebbdcccd49f4c95cca9aa90f6fab3
Signed-off-by: Yaniv Bronhaim <[email protected]>
---
M lib/vdsm/tool/service.py
1 file changed, 66 insertions(+), 64 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/67/22867/1

diff --git a/lib/vdsm/tool/service.py b/lib/vdsm/tool/service.py
index ee6a9cd..505a385 100644
--- a/lib/vdsm/tool/service.py
+++ b/lib/vdsm/tool/service.py
@@ -98,73 +98,10 @@
     pass
 
 
-try:
-    _SYSTEMCTL.cmd
-except OSError:
-    pass
-else:
-    def _systemctlNative(systemctlFun):
-        @functools.wraps(systemctlFun)
-        def wrapper(srvName):
-            cmd = [_SYSTEMCTL.cmd, "--no-pager", "list-unit-files"]
-            rc, out, err = execCmd(cmd, raw=False)
-            if rc != 0:
-                raise ServiceOperationError(
-                    "Error listing unit files", '\n'.join(out), '\n'.join(err))
-            fullName = srvName + ".service"
-            for line in out:
-                if fullName == line.split(" ", 1)[0]:
-                    return systemctlFun(fullName)
-            raise ServiceNotExistError("%s is not native systemctl service" %
-                                       srvName)
-        return wrapper
-
-    @_systemctlNative
-    def _systemctlStart(srvName):
-        cmd = [_SYSTEMCTL.cmd, "start", srvName]
-        return execCmd(cmd)
-
-    @_systemctlNative
-    def _systemctlStop(srvName):
-        cmd = [_SYSTEMCTL.cmd, "stop", srvName]
-        return execCmd(cmd)
-
-    @_systemctlNative
-    def _systemctlStatus(srvName):
-        cmd = [_SYSTEMCTL.cmd, "status", srvName]
-        return execCmd(cmd)
-
-    @_systemctlNative
-    def _systemctlRestart(srvName):
-        cmd = [_SYSTEMCTL.cmd, "restart", srvName]
-        return execCmd(cmd)
-
-    @_systemctlNative
-    def _systemctlReload(srvName):
-        cmd = [_SYSTEMCTL.cmd, "reload", srvName]
-        return execCmd(cmd)
-
-    @_systemctlNative
-    def _systemctlDisable(srvName):
-        cmd = [_SYSTEMCTL.cmd, "disable", srvName]
-        return execCmd(cmd)
-
-    @_systemctlNative
-    def _systemctlIsManaged(srvName):
-        return (0, '', '')
-
-    _srvStartAlts.append(_systemctlStart)
-    _srvStopAlts.append(_systemctlStop)
-    _srvStatusAlts.append(_systemctlStatus)
-    _srvRestartAlts.append(_systemctlRestart)
-    _srvReloadAlts.append(_systemctlReload)
-    _srvDisableAlts.append(_systemctlDisable)
-    _srvIsManagedAlts.append(_systemctlIsManaged)
-
-
 def _isStopped(message):
     stopRegex = r"\bstopped\b|\bstop\b|\bwaiting\b|\bnot running\b"
     return bool(re.search(stopRegex, message, re.MULTILINE))
+
 
 try:
     _INITCTL.cmd
@@ -258,6 +195,71 @@
         raise ServiceNotExistError("%s is not a SysV service" % srvName)
     return wrapper
 
+
+try:
+    _SYSTEMCTL.cmd
+except OSError:
+    pass
+else:
+    def _systemctlNative(systemctlFun):
+        @functools.wraps(systemctlFun)
+        def wrapper(srvName):
+            cmd = [_SYSTEMCTL.cmd, "--no-pager", "list-unit-files"]
+            rc, out, err = execCmd(cmd, raw=False)
+            if rc != 0:
+                raise ServiceOperationError(
+                    "Error listing unit files", '\n'.join(out), '\n'.join(err))
+            fullName = srvName + ".service"
+            for line in out:
+                if fullName == line.split(" ", 1)[0]:
+                    return systemctlFun(fullName)
+            raise ServiceNotExistError("%s is not native systemctl service" %
+                                       srvName)
+        return wrapper
+
+    @_systemctlNative
+    def _systemctlStart(srvName):
+        cmd = [_SYSTEMCTL.cmd, "start", srvName]
+        return execCmd(cmd)
+
+    @_systemctlNative
+    def _systemctlStop(srvName):
+        cmd = [_SYSTEMCTL.cmd, "stop", srvName]
+        return execCmd(cmd)
+
+    @_systemctlNative
+    def _systemctlStatus(srvName):
+        cmd = [_SYSTEMCTL.cmd, "status", srvName]
+        return execCmd(cmd)
+
+    @_systemctlNative
+    def _systemctlRestart(srvName):
+        cmd = [_SYSTEMCTL.cmd, "restart", srvName]
+        return execCmd(cmd)
+
+    @_systemctlNative
+    def _systemctlReload(srvName):
+        cmd = [_SYSTEMCTL.cmd, "reload", srvName]
+        return execCmd(cmd)
+
+    @_systemctlNative
+    def _systemctlDisable(srvName):
+        cmd = [_SYSTEMCTL.cmd, "disable", srvName]
+        return execCmd(cmd)
+
+    @_systemctlNative
+    def _systemctlIsManaged(srvName):
+        return (0, '', '')
+
+    _srvStartAlts.append(_systemctlStart)
+    _srvStopAlts.append(_systemctlStop)
+    _srvStatusAlts.append(_systemctlStatus)
+    _srvRestartAlts.append(_systemctlRestart)
+    _srvReloadAlts.append(_systemctlReload)
+    _srvDisableAlts.append(_systemctlDisable)
+    _srvIsManagedAlts.append(_systemctlIsManaged)
+
+
 try:
     _SERVICE.cmd
 except OSError:


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I678cee34d02ebbdcccd49f4c95cca9aa90f6fab3
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Yaniv Bronhaim <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to