commit:     b519113a54e34f615affae43b526e5872696a779
Author:     Andrea Postiglione <andrea.postiglione <AT> gmail <DOT> com>
AuthorDate: Wed Dec 16 08:40:10 2020 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Wed Dec 16 08:40:10 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b519113a

sys-cluster/pcs-0.10.7: new openrc patch

Signed-off-by: Andrea Postiglione <andrea.postiglione <AT> gmail.com>

 sys-cluster/pcs/files/openrc-0.10.7.patch | 436 +++++++++++++++++++++++++-----
 1 file changed, 363 insertions(+), 73 deletions(-)

diff --git a/sys-cluster/pcs/files/openrc-0.10.7.patch 
b/sys-cluster/pcs/files/openrc-0.10.7.patch
index aad70cb1..5efe85ec 100644
--- a/sys-cluster/pcs/files/openrc-0.10.7.patch
+++ b/sys-cluster/pcs/files/openrc-0.10.7.patch
@@ -1,37 +1,181 @@
---- a/pcs/settings_default.py  2019-06-12 23:35:02.146909492 +0900
-+++ b/pcs/settings_default.py  2019-06-12 23:31:27.795771910 +0900
+diff -uPNr pcs-0.10.7/pcs/lib/external.py pcs-0.10.7-openrc/pcs/lib/external.py
+--- pcs-0.10.7/pcs/lib/external.py     2020-12-15 17:02:49.055879169 +0100
++++ pcs-0.10.7-openrc/pcs/lib/external.py      2020-12-15 21:13:41.878627331 
+0100
+@@ -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 []
+ 
+diff -uPNr pcs-0.10.7/pcs/settings_default.py 
pcs-0.10.7-openrc/pcs/settings_default.py
+--- pcs-0.10.7/pcs/settings_default.py 2020-12-15 17:02:49.056879154 +0100
++++ pcs-0.10.7-openrc/pcs/settings_default.py  2020-12-15 20:31:14.156706578 
+0100
 @@ -1,8 +1,8 @@
  import os.path
  
- systemctl_binary = "/bin/systemctl"
+-systemctl_binary = "/bin/systemctl"
 -chkconfig_binary = "/sbin/chkconfig"
 -service_binary = "/sbin/service"
-+chkconfig_binary = "/usr/bin/rc-config"
-+service_binary = "/sbin/rc-service"
++systemctl_binary="/bin/systemctl"
++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/"
---- a/pcsd/pcs.rb      2019-06-12 23:35:13.882862268 +0900
-+++ b/pcsd/pcs.rb      2019-06-12 23:31:11.357838047 +0900
-@@ -1712,7 +1712,7 @@
+diff -uPNr pcs-0.10.7/pcs/settings.py.debian 
pcs-0.10.7-openrc/pcs/settings.py.debian
+--- pcs-0.10.7/pcs/settings.py.debian  2020-12-15 17:02:49.055879169 +0100
++++ pcs-0.10.7-openrc/pcs/settings.py.debian   2020-12-16 09:36:10.493104892 
+0100
+@@ -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"
+diff -uPNr pcs-0.10.7/pcs/utils.py pcs-0.10.7-openrc/pcs/utils.py
+--- pcs-0.10.7/pcs/utils.py    2020-12-15 17:02:49.056879154 +0100
++++ pcs-0.10.7-openrc/pcs/utils.py     2020-12-15 17:36:27.914500816 +0100
+@@ -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
+ 
+diff -uPNr pcs-0.10.7/pcsd/pcs.rb pcs-0.10.7-openrc/pcsd/pcs.rb
+--- pcs-0.10.7/pcsd/pcs.rb     2020-12-15 17:02:49.063879050 +0100
++++ pcs-0.10.7-openrc/pcsd/pcs.rb      2020-12-16 09:19:41.341318599 +0100
+@@ -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 = ['/usr/bin/rc-config','list default|/bin/grep -q', 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)
-@@ -1722,7 +1722,7 @@
-   if ISSYSTEMCTL
-     cmd = ['systemctl', 'status', "#{service}.service"]
+-  _, _, 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 = ['/bin/rc-status', 'default|/bin/grep started| /bin/grep -q', 
service]
++    cmd = ['rc-service', service, 'status']
    end
    _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
    return (retcode == 0)
-@@ -1778,11 +1778,12 @@
+@@ -1775,7 +1786,8 @@
  class ServiceInstalledCheckerChkconfig < ServiceInstalledChecker
    protected
    def run_command
@@ -41,78 +185,224 @@
    end
  
    def contains_line_service?(line, service)
--    return line.split(' ')[0] == service
-+    return line.strip == service
-   end
- end
-
-@@ -1765,7 +1766,7 @@
+@@ -1802,7 +1814,7 @@
      cmd = ['systemctl', 'enable', "#{service}.service"]
    else
      # fails when the service is not installed
 -    cmd = ['chkconfig', service, 'on']
-+    cmd = ['/usr/bin/rc-config', 'add', service, 'default']
++    cmd = ['rc-config', 'add', service, 'default']
    end
    _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
    return (retcode == 0)
-@@ -1780,7 +1781,7 @@
+@@ -1817,7 +1829,7 @@
    if ISSYSTEMCTL
      cmd = ['systemctl', 'disable', "#{service}.service"]
    else
 -    cmd = ['chkconfig', service, 'off']
-+    cmd = ['/usr/bin/rc-config', 'delete', service, 'default']
++    cmd = ['rc-config', 'delete', service, 'default']
    end
    _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
    return (retcode == 0)
---- a/pcs/lib/external.py      2019-06-12 23:35:06.017893916 +0900
-+++ b/pcs/lib/external.py      2019-06-12 23:31:18.962807448 +0900
-@@ -69,7 +69,7 @@
-             _systemctl, "disable", _get_service_name(service, instance)
-         ])
-     else:
--        stdout, stderr, retval = runner.run([_chkconfig, service, "off"])
-+        stdout, stderr, retval = runner.run([_chkconfig, 'delete', service, 
"default"])
-     if retval != 0:
-         raise DisableServiceError(
-             service,
-@@ -93,7 +93,7 @@
-             _systemctl, "enable", _get_service_name(service, instance)
-         ])
-     else:
--        stdout, stderr, retval = runner.run([_chkconfig, service, "on"])
-+        stdout, stderr, retval = runner.run([_chkconfig, 'add', service, 
"default"])
-     if retval != 0:
-         raise EnableServiceError(
-             service,
-@@ -177,8 +177,12 @@
-             [_systemctl, "is-enabled", _get_service_name(service, instance)]
+@@ -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)
+diff -uPNr pcs-0.10.7/pcsd/settings.rb pcs-0.10.7-openrc/pcsd/settings.rb
+--- pcs-0.10.7/pcsd/settings.rb        2020-12-15 17:02:49.065879020 +0100
++++ pcs-0.10.7-openrc/pcsd/settings.rb 2020-12-16 09:26:46.782426991 +0100
+@@ -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'
+diff -uPNr pcs-0.10.7/pcs_test/tier0/lib/test_external.py 
pcs-0.10.7-openrc/pcs_test/tier0/lib/test_external.py
+--- pcs-0.10.7/pcs_test/tier0/lib/test_external.py     2020-12-15 
17:02:49.061879080 +0100
++++ pcs-0.10.7-openrc/pcs_test/tier0/lib/test_external.py      2020-12-15 
17:44:33.382213643 +0100
+@@ -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"]
          )
-     else:
--        dummy_stdout, dummy_stderr, retval = runner.run([_chkconfig, service])
--
-+        stdout, dummy_stderr, dummy_retval = runner.run([_chkconfig, 'list', 
'default'])
-+        retval = 1
-+        for line in stdout.splitlines():
-+            line = line.strip()
-+            if service == line:
-+                retval = 0
-     return retval == 0
  
+     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"]
+         )
  
-@@ -225,14 +229,13 @@
-     """
-     if is_systemctl():
-         return []
--
--    stdout, dummy_stderr, return_code = runner.run([_chkconfig])
-+    stdout, dummy_stderr, return_code = runner.run([_chkconfig, "list"])
-     if return_code != 0:
-         return []
+     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])
  
-     service_list = []
-     for service in stdout.splitlines():
--        service = service.split(" ", 1)[0]
-+        service = service.strip().split(' ')[0]
-         if service:
-             service_list.append(service)
-     return service_list
+     def test_systemd(self, mock_is_systemctl):
+         mock_is_systemctl.return_value = True

Reply via email to