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 ybronhei@redhat.com --- 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: