diff options
Diffstat (limited to 'cloudinit/distros/openbsd.py')
-rw-r--r-- | cloudinit/distros/openbsd.py | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/cloudinit/distros/openbsd.py b/cloudinit/distros/openbsd.py index 72e9bc45..5950c9db 100644 --- a/cloudinit/distros/openbsd.py +++ b/cloudinit/distros/openbsd.py @@ -25,13 +25,14 @@ class Distro(cloudinit.distros.netbsd.NetBSD): def _get_add_member_to_group_cmd(self, member_name, group_name): return ["usermod", "-G", group_name, member_name] - def manage_service(self, action: str, service: str): + @classmethod + def manage_service(cls, action: str, service: str, *extra_args, rcs=None): """ Perform the requested action on a service. This handles OpenBSD's 'rcctl'. May raise ProcessExecutionError """ - init_cmd = self.init_cmd + init_cmd = cls.init_cmd cmds = { "stop": ["stop", service], "start": ["start", service], @@ -43,7 +44,7 @@ class Distro(cloudinit.distros.netbsd.NetBSD): "status": ["check", service], } cmd = list(init_cmd) + list(cmds[action]) - return subp.subp(cmd, capture=True) + return subp.subp(cmd, capture=True, rcs=rcs) def lock_passwd(self, name): try: @@ -59,6 +60,3 @@ class Distro(cloudinit.distros.netbsd.NetBSD): """Return env vars used in OpenBSD package_command operations""" e = os.environ.copy() return e - - -# vi: ts=4 expandtab |