[Debian-ha-commits] [pcs] 01/01: Replace chkconfig invocations with update-rc.d
Valentin Vidic
vvidic-guest at moszumanska.debian.org
Tue Aug 23 19:39:04 UTC 2016
This is an automated email from the git hooks/post-receive script.
vvidic-guest pushed a commit to branch master
in repository pcs.
commit a1e6146c918c884e910a45ecad59c653bb94b686
Author: Valentin Vidic <Valentin.Vidic at CARNet.hr>
Date: Tue Aug 23 21:20:59 2016 +0200
Replace chkconfig invocations with update-rc.d
---
debian/patches/0010-Replace-chkconfig.patch | 211 ++++++++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 212 insertions(+)
diff --git a/debian/patches/0010-Replace-chkconfig.patch b/debian/patches/0010-Replace-chkconfig.patch
new file mode 100644
index 0000000..63085f1
--- /dev/null
+++ b/debian/patches/0010-Replace-chkconfig.patch
@@ -0,0 +1,211 @@
+--- a/pcsd/pcs.rb
++++ b/pcsd/pcs.rb
+@@ -1894,11 +1894,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 = ['insserv', '-s']
++ stdout, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
++ if retcode != 0
++ return nil
++ end
++ stdout.each { |line|
++ parts = line.split(':')
++ if parts[3] == service and parts[0] == 'S'
++ return true
++ end
++ }
++ return false
+ end
+- _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
+- return (retcode == 0)
+ end
+
+ def is_service_running?(service)
+@@ -1913,12 +1924,13 @@
+
+ def is_service_installed?(service)
+ unless ISSYSTEMCTL
+- stdout, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), 'chkconfig')
++ cmd = ['insserv', '-s']
++ stdout, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
+ if retcode != 0
+ return nil
+ end
+ stdout.each { |line|
+- if line.split(' ')[0] == service
++ if line.split(':')[3] == service
+ return true
+ end
+ return false
+@@ -1944,7 +1956,7 @@
+ cmd = ['systemctl', 'enable', "#{service}.service"]
+ else
+ # fails when the service is not installed
+- cmd = ['chkconfig', service, 'on']
++ cmd = ['update-rc.d', service, 'enable']
+ end
+ _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
+ return (retcode == 0)
+@@ -1959,7 +1971,7 @@
+ return true
+ end
+ # fails when the service is not installed, so we need to check it beforehand
+- cmd = ['chkconfig', service, 'off']
++ cmd = ['update-rc.d', service, 'disable']
+ end
+ _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd)
+ return (retcode == 0)
+--- a/pcs/lib/external.py
++++ b/pcs/lib/external.py
+@@ -123,7 +123,7 @@
+ else:
+ if not is_service_installed(runner, service):
+ return
+- output, retval = runner.run(["chkconfig", service, "off"])
++ output, retval = runner.run(["update-rc.d", service, "disable"])
+ if retval != 0:
+ raise DisableServiceError(service, output.rstrip())
+
+@@ -141,7 +141,7 @@
+ "systemctl", "enable", service + ".service"
+ ])
+ else:
+- output, retval = runner.run(["chkconfig", service, "on"])
++ output, retval = runner.run(["update-rc.d", service, "enable"])
+ if retval != 0:
+ raise EnableServiceError(service, output.rstrip())
+
+@@ -207,10 +207,17 @@
+ _, retval = runner.run(
+ ["systemctl", "is-enabled", service + ".service"]
+ )
++ return retval == 0
+ else:
+- _, retval = runner.run(["chkconfig", service])
+-
+- return retval == 0
++ output, return_code = runner.run(["insserv", "-s"])
++ if return_code != 0:
++ return False
++
++ for line in output.splitlines():
++ fields = line.split(":")
++ if fields[3] == service and fields[0] == "S":
++ return True
++ return False
+
+
+ def is_service_running(runner, service):
+@@ -250,13 +257,13 @@
+ if is_systemctl():
+ return []
+
+- output, return_code = runner.run(["chkconfig"], ignore_stderr=True)
++ output, return_code = runner.run(["insserv", "-s"], ignore_stderr=True)
+ if return_code != 0:
+ return []
+
+ service_list = []
+ for service in output.splitlines():
+- service = service.split(" ", 1)[0]
++ service = service.split(":")[3]
+ if service:
+ service_list.append(service)
+ return service_list
+--- a/pcs/test/test_lib_external.py
++++ b/pcs/test/test_lib_external.py
+@@ -1043,7 +1043,7 @@
+ self.mock_runner.run.return_value = ("", 0)
+ lib.disable_service(self.mock_runner, self.service)
+ self.mock_runner.run.assert_called_once_with(
+- ["chkconfig", self.service, "off"]
++ ["update-rc.d", self.service, "disable"]
+ )
+
+ @mock.patch("pcs.lib.external.is_service_installed")
+@@ -1056,7 +1056,7 @@
+ lambda: lib.disable_service(self.mock_runner, self.service)
+ )
+ self.mock_runner.run.assert_called_once_with(
+- ["chkconfig", self.service, "off"]
++ ["update-rc.d", self.service, "disable"]
+ )
+
+ @mock.patch("pcs.lib.external.is_service_installed")
+@@ -1099,7 +1099,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"]
++ ["update-rc.d", self.service, "enable"]
+ )
+
+ def test_not_systemctl_failed(self, mock_systemctl):
+@@ -1110,7 +1110,7 @@
+ lambda: lib.enable_service(self.mock_runner, self.service)
+ )
+ self.mock_runner.run.assert_called_once_with(
+- ["chkconfig", self.service, "on"]
++ ["update-rc.d", self.service, "enable"]
+ )
+
+
+@@ -1287,18 +1287,18 @@
+
+ def test_not_systemctl_enabled(self, mock_systemctl):
+ mock_systemctl.return_value = False
+- self.mock_runner.run.return_value = ("", 0)
++ self.mock_runner.run.return_value = ("S:02:2 3 4 5:" + self.service, 0)
+ self.assertTrue(lib.is_service_enabled(self.mock_runner, self.service))
+ self.mock_runner.run.assert_called_once_with(
+- ["chkconfig", self.service]
++ ["insserv", "-s"]
+ )
+
+ def test_not_systemctl_disabled(self, mock_systemctl):
+ mock_systemctl.return_value = False
+- self.mock_runner.run.return_value = ("", 3)
++ self.mock_runner.run.return_value = ("K:01:0 1 6:" + self.service, 0)
+ self.assertFalse(lib.is_service_enabled(self.mock_runner, self.service))
+ self.mock_runner.run.assert_called_once_with(
+- ["chkconfig", self.service]
++ ["insserv", "-s"]
+ )
+
+
+@@ -1442,9 +1442,9 @@
+ def test_success(self, mock_is_systemctl):
+ mock_is_systemctl.return_value = False
+ self.mock_runner.run.return_value = ("""\
+-pcsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
+-sbd 0:off 1:on 2:on 3:on 4:on 5:on 6:off
+-pacemaker 0:off 1:off 2:off 3:off 4:off 5:off 6:off
++K:01:0 1 6:pcsd
++S:02:2 3 4 5:sbd
++S:02:2 3 4 5:pacemaker
+ """, 0)
+ self.assertEqual(
+ lib.get_non_systemd_services(self.mock_runner),
+@@ -1452,7 +1452,7 @@
+ )
+ self.assertEqual(mock_is_systemctl.call_count, 1)
+ self.mock_runner.run.assert_called_once_with(
+- ["chkconfig"], ignore_stderr=True
++ ["insserv", "-s"], ignore_stderr=True
+ )
+
+ def test_failed(self, mock_is_systemctl):
+@@ -1461,7 +1461,7 @@
+ 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"], ignore_stderr=True
++ ["insserv", "-s"], ignore_stderr=True
+ )
+
+ def test_systemd(self, mock_is_systemctl):
diff --git a/debian/patches/series b/debian/patches/series
index 542d8c4..b62b741 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@
0007-Fix-IPv6-bind.patch
0008-Fix-corosync-log.patch
0009-Fix-testsuite.patch
+0010-Replace-chkconfig.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-ha/pcs.git
More information about the Debian-HA-Commits
mailing list