mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 23:52:59 -04:00
430 lines
15 KiB
Diff
430 lines
15 KiB
Diff
--- a/pcs/lib/external.py
|
|
+++ b/pcs/lib/external.py
|
|
@@ -13,8 +13,8 @@
|
|
from pcs.lib.errors import LibraryError
|
|
|
|
|
|
-_chkconfig = settings.chkconfig_binary
|
|
-_service = settings.service_binary
|
|
+_rc_config = settings.rc_config_binary
|
|
+_rc_service = settings.rc_service_binary
|
|
_systemctl = settings.systemctl_binary
|
|
|
|
|
|
@@ -192,7 +192,7 @@
|
|
[_systemctl, "disable", _get_service_name(service, instance)]
|
|
)
|
|
else:
|
|
- stdout, stderr, retval = runner.run([_chkconfig, service, "off"])
|
|
+ stdout, stderr, retval = runner.run([_rc_config, 'delete', service, "default"])
|
|
if retval != 0:
|
|
raise DisableServiceError(
|
|
service, join_multilines([stderr, stdout]), instance
|
|
@@ -214,7 +214,7 @@
|
|
[_systemctl, "enable", _get_service_name(service, instance)]
|
|
)
|
|
else:
|
|
- stdout, stderr, retval = runner.run([_chkconfig, service, "on"])
|
|
+ stdout, stderr, retval = runner.run([_rc_config, 'add', service, "default"])
|
|
if retval != 0:
|
|
raise EnableServiceError(
|
|
service, join_multilines([stderr, stdout]), instance
|
|
@@ -234,7 +234,7 @@
|
|
[_systemctl, "start", _get_service_name(service, instance)]
|
|
)
|
|
else:
|
|
- stdout, stderr, retval = runner.run([_service, service, "start"])
|
|
+ stdout, stderr, retval = runner.run([_rc_service, service, "start"])
|
|
if retval != 0:
|
|
raise StartServiceError(
|
|
service, join_multilines([stderr, stdout]), instance
|
|
@@ -254,7 +254,7 @@
|
|
[_systemctl, "stop", _get_service_name(service, instance)]
|
|
)
|
|
else:
|
|
- stdout, stderr, retval = runner.run([_service, service, "stop"])
|
|
+ stdout, stderr, retval = runner.run([_rc_service, service, "stop"])
|
|
if retval != 0:
|
|
raise StopServiceError(
|
|
service, join_multilines([stderr, stdout]), instance
|
|
@@ -295,8 +295,12 @@
|
|
[_systemctl, "is-enabled", _get_service_name(service, instance)]
|
|
)
|
|
else:
|
|
- dummy_stdout, dummy_stderr, retval = runner.run([_chkconfig, service])
|
|
-
|
|
+ stdout, dummy_stderr, dummy_retval = runner.run([_rc_config, 'list', 'default'])
|
|
+ retval = 1
|
|
+ for line in stdout.splitlines():
|
|
+ line = line.split(' ')[0]
|
|
+ if service == line:
|
|
+ retval = 0
|
|
return retval == 0
|
|
|
|
|
|
@@ -316,7 +320,7 @@
|
|
)
|
|
else:
|
|
dummy_stdout, dummy_stderr, retval = runner.run(
|
|
- [_service, service, "status"]
|
|
+ [_rc_service, service, "status"]
|
|
)
|
|
|
|
return retval == 0
|
|
@@ -344,8 +348,7 @@
|
|
"""
|
|
if is_systemctl():
|
|
return []
|
|
-
|
|
- stdout, dummy_stderr, return_code = runner.run([_chkconfig])
|
|
+ stdout, dummy_stderr, return_code = runner.run([_rc_config, "list"])
|
|
if return_code != 0:
|
|
return []
|
|
|
|
--- a/pcs/settings_default.py
|
|
+++ b/pcs/settings_default.py
|
|
@@ -1,8 +1,8 @@
|
|
import os.path
|
|
|
|
systemctl_binary = "/bin/systemctl"
|
|
-chkconfig_binary = "/sbin/chkconfig"
|
|
-service_binary = "/sbin/service"
|
|
+rc_config_binary = "/usr/bin/rc-config"
|
|
+rc_service_binary = "/sbin/rc-service"
|
|
pacemaker_binaries = "/usr/sbin/"
|
|
crm_resource_binary = os.path.join(pacemaker_binaries, "crm_resource")
|
|
corosync_binaries = "/usr/sbin/"
|
|
@@ -41,7 +41,7 @@
|
|
crm_mon_schema = "/usr/share/pacemaker/crm_mon.rng"
|
|
agent_metadata_schema = "/usr/share/resource-agents/ra-api-1.dtd"
|
|
pcsd_var_location = "/var/lib/pcsd/"
|
|
-pcsd_ruby_socket = "/run/pcsd-ruby.socket"
|
|
+pcsd_ruby_socket = "/run/pcsd-daemon.socket"
|
|
pcsd_cert_location = os.path.join(pcsd_var_location, "pcsd.crt")
|
|
pcsd_key_location = os.path.join(pcsd_var_location, "pcsd.key")
|
|
pcsd_known_hosts_location = os.path.join(pcsd_var_location, "known-hosts")
|
|
@@ -59,7 +59,7 @@
|
|
pacemaker_gname = "haclient"
|
|
sbd_binary = "/usr/sbin/sbd"
|
|
sbd_watchdog_default = "/dev/watchdog"
|
|
-sbd_config = "/etc/sysconfig/sbd"
|
|
+sbd_config = "/etc/default/sbd"
|
|
# this limit is also mentioned in docs, change there as well
|
|
sbd_max_device_num = 3
|
|
# message types are also mentioned in docs, change there as well
|
|
--- a/pcs/settings.py.debian
|
|
+++ b/pcs/settings.py.debian
|
|
@@ -1,10 +1,10 @@
|
|
from pcs.settings_default import *
|
|
-service_binary = "/usr/sbin/service"
|
|
+rc-service_binary = "/sbin/rc-service"
|
|
corosync_log_file = "/var/log/corosync/corosync.log"
|
|
-pacemaker_schedulerd = "/usr/lib/pacemaker/pacemaker-schedulerd"
|
|
-pacemaker_controld = "/usr/lib/pacemaker/pacemaker-controld"
|
|
-pacemaker_based = "/usr/lib/pacemaker/pacemaker-based"
|
|
-pacemaker_fenced = "/usr/lib/pacemaker/pacemaker-fenced"
|
|
+pacemaker_schedulerd = "/usr/libexec/pacemaker/pacemaker-schedulerd"
|
|
+pacemaker_controld = "/usr/libexec/pacemaker/pacemaker-controld"
|
|
+pacemaker_based = "/usr/libexec/pacemaker/pacemaker-based"
|
|
+pacemaker_fenced = "/usr/libexec/pacemaker/pacemaker-fenced"
|
|
pcsd_exec_location = "/usr/share/pcsd/"
|
|
pcsd_gem_path = None
|
|
pcsd_config = "/etc/default/pcsd"
|
|
--- a/pcs/utils.py
|
|
+++ b/pcs/utils.py
|
|
@@ -2187,7 +2187,7 @@
|
|
)
|
|
else:
|
|
stdout, stderr, retval = cmd_runner().run(
|
|
- [settings.service_binary, service, "start"]
|
|
+ [settings.rc_service_binary, service, "start"]
|
|
)
|
|
return join_multilines([stderr, stdout]), retval
|
|
|
|
@@ -2202,7 +2202,7 @@
|
|
)
|
|
else:
|
|
stdout, stderr, retval = cmd_runner().run(
|
|
- [settings.service_binary, service, "stop"]
|
|
+ [settings.rc_service_binary, service, "stop"]
|
|
)
|
|
return join_multilines([stderr, stdout]), retval
|
|
|
|
--- a/pcsd/pcs.rb
|
|
+++ b/pcsd/pcs.rb
|
|
@@ -1708,11 +1708,22 @@
|
|
def is_service_enabled?(service)
|
|
if ISSYSTEMCTL
|
|
cmd = ['systemctl', 'is-enabled', "#{service}.service"]
|
|
+ _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
+ return (retcode == 0)
|
|
else
|
|
- cmd = ['chkconfig', service]
|
|
+ cmd = ['rc-config', 'list', 'default']
|
|
+ stdout, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
+ if retcode != 0
|
|
+ return false
|
|
+ end
|
|
+ stdout.each { |line|
|
|
+ line = line.split(' ')
|
|
+ if line[0] == service
|
|
+ return true
|
|
+ end
|
|
+ }
|
|
+ return false
|
|
end
|
|
- _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
- return (retcode == 0)
|
|
end
|
|
|
|
def is_service_running?(service)
|
|
@@ -1722,7 +1733,7 @@
|
|
# encoding/decoding errors. We are not interested in the lines anyway.
|
|
cmd = ['systemctl', 'status', '--lines=0', "#{service}.service"]
|
|
else
|
|
- cmd = ['service', service, 'status']
|
|
+ cmd = ['rc-service', service, 'status']
|
|
end
|
|
_, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
return (retcode == 0)
|
|
@@ -1775,7 +1786,8 @@
|
|
class ServiceInstalledCheckerChkconfig < ServiceInstalledChecker
|
|
protected
|
|
def run_command
|
|
- return run_cmd(PCSAuth.getSuperuserAuth(), 'chkconfig')
|
|
+ cmd = ['rc-config', 'list']
|
|
+ return run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
end
|
|
|
|
def contains_line_service?(line, service)
|
|
@@ -1802,7 +1814,7 @@
|
|
cmd = ['systemctl', 'enable', "#{service}.service"]
|
|
else
|
|
# fails when the service is not installed
|
|
- cmd = ['chkconfig', service, 'on']
|
|
+ cmd = ['rc-config', 'add', service, 'default']
|
|
end
|
|
_, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
return (retcode == 0)
|
|
@@ -1817,7 +1829,7 @@
|
|
if ISSYSTEMCTL
|
|
cmd = ['systemctl', 'disable', "#{service}.service"]
|
|
else
|
|
- cmd = ['chkconfig', service, 'off']
|
|
+ cmd = ['rc-config', 'delete', service, 'default']
|
|
end
|
|
_, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
return (retcode == 0)
|
|
@@ -1827,7 +1839,7 @@
|
|
if ISSYSTEMCTL
|
|
cmd = ['systemctl', 'start', "#{service}.service"]
|
|
else
|
|
- cmd = ['service', service, 'start']
|
|
+ cmd = ['rc-service', service, 'start']
|
|
end
|
|
_, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
return (retcode == 0)
|
|
@@ -1840,7 +1852,7 @@
|
|
if ISSYSTEMCTL
|
|
cmd = ['systemctl', 'stop', "#{service}.service"]
|
|
else
|
|
- cmd = ['service', service, 'stop']
|
|
+ cmd = ['rc-service', service, 'stop']
|
|
end
|
|
_, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
|
|
return (retcode == 0)
|
|
--- a/pcsd/settings.rb
|
|
+++ b/pcsd/settings.rb
|
|
@@ -3,7 +3,7 @@
|
|
PCSD_EXEC_LOCATION = '/usr/lib/pcsd/'
|
|
PCSD_VAR_LOCATION = '/var/lib/pcsd/'
|
|
PCSD_DEFAULT_PORT = 2224
|
|
-PCSD_RUBY_SOCKET = '/run/pcsd-ruby.socket'
|
|
+PCSD_RUBY_SOCKET = '/run/pcsd-daemon.socket'
|
|
|
|
CRT_FILE = PCSD_VAR_LOCATION + 'pcsd.crt'
|
|
KEY_FILE = PCSD_VAR_LOCATION + 'pcsd.key'
|
|
--- a/pcsd/settings.rb.debian
|
|
+++ b/pcsd/settings.rb.debian
|
|
@@ -3,7 +3,7 @@
|
|
PCSD_EXEC_LOCATION = '/usr/share/pcsd/'
|
|
PCSD_VAR_LOCATION = '/var/lib/pcsd/'
|
|
PCSD_DEFAULT_PORT = 2224
|
|
-PCSD_RUBY_SOCKET = '/run/pcsd-ruby.socket'
|
|
+PCSD_RUBY_SOCKET = '/run/pcsd-daemon.socket'
|
|
|
|
CRT_FILE = PCSD_VAR_LOCATION + 'pcsd.crt'
|
|
KEY_FILE = PCSD_VAR_LOCATION + 'pcsd.key'
|
|
--- a/pcs_test/tier0/lib/test_external.py
|
|
+++ b/pcs_test/tier0/lib/test_external.py
|
|
@@ -16,8 +16,8 @@
|
|
import pcs.lib.external as lib
|
|
|
|
|
|
-_chkconfig = settings.chkconfig_binary
|
|
-_service = settings.service_binary
|
|
+_rc_config = settings.rc_config_binary
|
|
+_rc_service = settings.rc_service_binary
|
|
_systemctl = settings.systemctl_binary
|
|
|
|
|
|
@@ -415,7 +415,7 @@
|
|
self.mock_runner, self.service, None
|
|
)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_chkconfig, self.service, "off"]
|
|
+ [_rc_config, "delete", self.service, "default"]
|
|
)
|
|
|
|
def test_not_systemctl_failed(self, mock_is_installed, mock_systemctl):
|
|
@@ -430,7 +430,7 @@
|
|
self.mock_runner, self.service, None
|
|
)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_chkconfig, self.service, "off"]
|
|
+ [_rc_config, "delete", self.service, "default"]
|
|
)
|
|
|
|
def test_systemctl_not_installed(self, mock_is_installed, mock_systemctl):
|
|
@@ -480,7 +480,7 @@
|
|
self.mock_runner, self.service, instance
|
|
)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_chkconfig, self.service, "off"]
|
|
+ [_rc_config, "delete", self.service, "default"]
|
|
)
|
|
|
|
|
|
@@ -514,7 +514,7 @@
|
|
self.mock_runner.run.return_value = ("", "", 0)
|
|
lib.enable_service(self.mock_runner, self.service)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_chkconfig, self.service, "on"]
|
|
+ [_rc_config, "add", self.service, "default"]
|
|
)
|
|
|
|
def test_not_systemctl_failed(self, mock_systemctl):
|
|
@@ -525,7 +525,7 @@
|
|
lambda: lib.enable_service(self.mock_runner, self.service),
|
|
)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_chkconfig, self.service, "on"]
|
|
+ [_rc_config, "add", self.service, "default"]
|
|
)
|
|
|
|
def test_instance_systemctl(self, mock_systemctl):
|
|
@@ -545,7 +545,7 @@
|
|
self.mock_runner.run.return_value = ("", "", 0)
|
|
lib.enable_service(self.mock_runner, self.service, instance="test")
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_chkconfig, self.service, "on"]
|
|
+ [_rc_config, "add", self.service, "default"]
|
|
)
|
|
|
|
|
|
@@ -579,7 +579,7 @@
|
|
self.mock_runner.run.return_value = ("Starting...", "", 0)
|
|
lib.start_service(self.mock_runner, self.service)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "start"]
|
|
+ [_rc_service, self.service, "start"]
|
|
)
|
|
|
|
def test_not_systemctl_failed(self, mock_systemctl):
|
|
@@ -590,7 +590,7 @@
|
|
lambda: lib.start_service(self.mock_runner, self.service),
|
|
)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "start"]
|
|
+ [_rc_service, self.service, "start"]
|
|
)
|
|
|
|
def test_instance_systemctl(self, mock_systemctl):
|
|
@@ -610,7 +610,7 @@
|
|
self.mock_runner.run.return_value = ("Starting...", "", 0)
|
|
lib.start_service(self.mock_runner, self.service, instance="test")
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "start"]
|
|
+ [_rc_service, self.service, "start"]
|
|
)
|
|
|
|
|
|
@@ -644,7 +644,7 @@
|
|
self.mock_runner.run.return_value = ("Stopping...", "", 0)
|
|
lib.stop_service(self.mock_runner, self.service)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "stop"]
|
|
+ [_rc_service, self.service, "stop"]
|
|
)
|
|
|
|
def test_not_systemctl_failed(self, mock_systemctl):
|
|
@@ -655,7 +655,7 @@
|
|
lambda: lib.stop_service(self.mock_runner, self.service),
|
|
)
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "stop"]
|
|
+ [_rc_service, self.service, "stop"]
|
|
)
|
|
|
|
def test_instance_systemctl(self, mock_systemctl):
|
|
@@ -671,7 +671,7 @@
|
|
self.mock_runner.run.return_value = ("Stopping...", "", 0)
|
|
lib.stop_service(self.mock_runner, self.service, instance="test")
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "stop"]
|
|
+ [_rc_service, self.service, "stop"]
|
|
)
|
|
|
|
|
|
@@ -734,13 +734,13 @@
|
|
mock_systemctl.return_value = False
|
|
self.mock_runner.run.return_value = ("", "", 0)
|
|
self.assertTrue(lib.is_service_enabled(self.mock_runner, self.service))
|
|
- self.mock_runner.run.assert_called_once_with([_chkconfig, self.service])
|
|
+ self.mock_runner.run.assert_called_once_with([_rc_config, self.service])
|
|
|
|
def test_not_systemctl_disabled(self, mock_systemctl):
|
|
mock_systemctl.return_value = False
|
|
self.mock_runner.run.return_value = ("", "", 3)
|
|
self.assertFalse(lib.is_service_enabled(self.mock_runner, self.service))
|
|
- self.mock_runner.run.assert_called_once_with([_chkconfig, self.service])
|
|
+ self.mock_runner.run.assert_called_once_with([_rc_config, self.service])
|
|
|
|
|
|
@mock.patch("pcs.lib.external.is_systemctl")
|
|
@@ -770,7 +770,7 @@
|
|
self.mock_runner.run.return_value = ("is running", "", 0)
|
|
self.assertTrue(lib.is_service_running(self.mock_runner, self.service))
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "status"]
|
|
+ [_rc_service, self.service, "status"]
|
|
)
|
|
|
|
def test_not_systemctl_not_running(self, mock_systemctl):
|
|
@@ -778,7 +778,7 @@
|
|
self.mock_runner.run.return_value = ("is stopped", "", 3)
|
|
self.assertFalse(lib.is_service_running(self.mock_runner, self.service))
|
|
self.mock_runner.run.assert_called_once_with(
|
|
- [_service, self.service, "status"]
|
|
+ [_rc_service, self.service, "status"]
|
|
)
|
|
|
|
|
|
@@ -942,14 +942,14 @@
|
|
["pcsd", "sbd", "pacemaker"],
|
|
)
|
|
self.assertEqual(mock_is_systemctl.call_count, 1)
|
|
- self.mock_runner.run.assert_called_once_with([_chkconfig])
|
|
+ self.mock_runner.run.assert_called_once_with([_rc_config])
|
|
|
|
def test_failed(self, mock_is_systemctl):
|
|
mock_is_systemctl.return_value = False
|
|
self.mock_runner.run.return_value = ("stdout", "failed", 1)
|
|
self.assertEqual(lib.get_non_systemd_services(self.mock_runner), [])
|
|
self.assertEqual(mock_is_systemctl.call_count, 1)
|
|
- self.mock_runner.run.assert_called_once_with([_chkconfig])
|
|
+ self.mock_runner.run.assert_called_once_with([_rc_config])
|
|
|
|
def test_systemd(self, mock_is_systemctl):
|
|
mock_is_systemctl.return_value = True
|