Updated Branches:
  refs/heads/trunk 647dc17ca -> bb2f8aef4

AMBARI-3517. Resource management. Support Zypper. (Andrew Onischuk via mahadev)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/bb2f8aef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/bb2f8aef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/bb2f8aef

Branch: refs/heads/trunk
Commit: bb2f8aef48a09ab733af9044d8c52f54327ceb9a
Parents: 647dc17
Author: Mahadev Konar <[email protected]>
Authored: Fri Oct 18 09:16:03 2013 -0700
Committer: Mahadev Konar <[email protected]>
Committed: Fri Oct 18 09:16:03 2013 -0700

----------------------------------------------------------------------
 .../providers/package/zypper.py                    | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/bb2f8aef/ambari-agent/src/main/python/resource_management/providers/package/zypper.py
----------------------------------------------------------------------
diff --git 
a/ambari-agent/src/main/python/resource_management/providers/package/zypper.py 
b/ambari-agent/src/main/python/resource_management/providers/package/zypper.py
new file mode 100644
index 0000000..981b526
--- /dev/null
+++ 
b/ambari-agent/src/main/python/resource_management/providers/package/zypper.py
@@ -0,0 +1,17 @@
+from resource_management.providers.package import PackageProvider
+from subprocess import STDOUT, PIPE, check_call
+
+INSTALL_CMD = "/usr/bin/zypper --quiet install --auto-agree-with-licenses 
--no-confirm %s"
+REMOVE_CMD = "/usr/bin/zypper --quiet remove --no-confirm %s"
+
+class ZypperProvider(PackageProvider):
+  def install_package(self, name):
+    return 0 == check_call(INSTALL_CMD % (name),
+                           shell=True, stdout=PIPE, stderr=STDOUT)
+
+  def upgrade_package(self, name):
+    return self.install_package(name)
+  
+  def remove_package(self, name):
+    return 0 == check_call(REMOVE_CMD % (name),
+                           shell=True, stdout=PIPE, stderr=STDOUT)

Reply via email to