]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
[RM-12439] Add Zypper Class for pkg management
authorTravis Rhoden <trhoden@redhat.com>
Sat, 1 Aug 2015 02:45:15 +0000 (19:45 -0700)
committerTravis Rhoden <trhoden@redhat.com>
Mon, 3 Aug 2015 22:56:16 +0000 (15:56 -0700)
Signed-off-by: Travis Rhoden <trhoden@redhat.com>
ceph_deploy/util/pkg_managers.py

index a367e6d9ec2017233514785f0c17404f4f8712c3..88bf0a3744b95b8abe01b56d4a5c2724468becb6 100644 (file)
@@ -324,3 +324,35 @@ class Apt(PackageManager):
     def clean(self):
         cmd = self.executable + ['update']
         return self._run(cmd)
+
+
+class Zypper(PackageManager):
+    """
+    Zypper package management
+    """
+
+    executable = [
+        'zypper',
+        '--non-interactive',
+        '--quiet'
+    ]
+
+    def install(self, packages):
+        if isinstance(packages, str):
+            packages = [packages]
+
+        cmd = self.executable + ['install']
+        cmd.extend(packages)
+        return self._run(cmd)
+
+    def remove(self, packages):
+        if isinstance(packages, str):
+            packages = [packages]
+
+        cmd = self.executable + ['remove']
+        cmd.extend(packages)
+        return self._run(cmd)
+
+    def clean(self):
+        cmd = self.executable + ['refresh']
+        return self._run(cmd)