From: Travis Rhoden Date: Wed, 5 Aug 2015 17:29:53 +0000 (-0700) Subject: [RM-12480] Allow kwargs and extra_remove_flags for remove() X-Git-Tag: v1.5.27~2^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=995c8aca9037632f8767c880656d74ca9346fec7;p=ceph-deploy.git [RM-12480] Allow kwargs and extra_remove_flags for remove() Signed-off-by: Travis Rhoden --- diff --git a/ceph_deploy/util/pkg_managers.py b/ceph_deploy/util/pkg_managers.py index 14d6590..8b13677 100644 --- a/ceph_deploy/util/pkg_managers.py +++ b/ceph_deploy/util/pkg_managers.py @@ -203,7 +203,7 @@ class PackageManager(object): """Install packages on remote node""" raise NotImplementedError() - def remove(self, packages): + def remove(self, packages, **kw): """Uninstall packages on remote node""" raise NotImplementedError() @@ -250,16 +250,21 @@ class RPMManagerBase(PackageManager): cmd.extend(packages) return self._run(cmd) - def remove(self, packages): + def remove(self, packages, **kw): if isinstance(packages, str): packages = [packages] + extra_flags = kw.pop('extra_remove_flags', None) cmd = [ self.executable, '-y', '-q', 'remove', ] + if extra_flags: + if isinstance(extra_flags, str): + extra_flags = [extra_flags] + cmd.extend(extra_flags) cmd.extend(packages) return self._run(cmd) @@ -377,15 +382,20 @@ class Apt(PackageManager): cmd.extend(packages) return self._run(cmd) - def remove(self, packages, purge=False): + def remove(self, packages, purge=False, **kw): if isinstance(packages, str): packages = [packages] + extra_flags = kw.pop('extra_remove_flags', None) cmd = self.executable + [ '-f', '--force-yes', 'remove' ] + if extra_flags: + if isinstance(extra_flags, str): + extra_flags = [extra_flags] + cmd.extend(extra_flags) if purge: cmd.append('--purge') @@ -462,11 +472,16 @@ class Zypper(PackageManager): cmd.extend(packages) return self._run(cmd) - def remove(self, packages): + def remove(self, packages, **kw): if isinstance(packages, str): packages = [packages] + extra_flags = kw.pop('extra_remove_flags', None) cmd = self.executable + ['remove'] + if extra_flags: + if isinstance(extra_flags, str): + extra_flags = [extra_flags] + cmd.extend(extra_flags) cmd.extend(packages) return self._run(cmd)