[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