Repository: ambari
Updated Branches:
  refs/heads/trunk 3e05cb551 -> 82bbd3ea6


AMBARI-5383. Ambari installs lzo RPMs when lzo is not listed in 
io.compression.codecs. (mpapirkovskyy)


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

Branch: refs/heads/trunk
Commit: 82bbd3ea6b3be4064ec4df0c394803a6bb710ea6
Parents: 3e05cb5
Author: Myroslav Papirkovskyy <[email protected]>
Authored: Thu Apr 24 16:14:59 2014 +0300
Committer: Myroslav Papirkovskyy <[email protected]>
Committed: Thu Apr 24 16:58:18 2014 +0300

----------------------------------------------------------------------
 .../python/resource_management/libraries/script/script.py    | 7 ++++---
 .../HDP/1.3.2/services/HDFS/package/scripts/datanode.py      | 2 +-
 .../HDP/1.3.2/services/HDFS/package/scripts/hdfs_client.py   | 2 +-
 .../HDP/1.3.2/services/HDFS/package/scripts/namenode.py      | 2 +-
 .../stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py | 8 +++++++-
 .../HDP/1.3.2/services/HDFS/package/scripts/snamenode.py     | 2 +-
 .../HDP/2.0.6/services/HDFS/package/scripts/datanode.py      | 2 +-
 .../HDP/2.0.6/services/HDFS/package/scripts/hdfs_client.py   | 2 +-
 .../HDP/2.0.6/services/HDFS/package/scripts/journalnode.py   | 2 +-
 .../HDP/2.0.6/services/HDFS/package/scripts/namenode.py      | 2 +-
 .../stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py | 6 ++++++
 .../HDP/2.0.6/services/HDFS/package/scripts/snamenode.py     | 2 +-
 .../HDP/2.0.6/services/HDFS/package/scripts/zkfc_slave.py    | 2 +-
 13 files changed, 27 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-agent/src/main/python/resource_management/libraries/script/script.py
----------------------------------------------------------------------
diff --git 
a/ambari-agent/src/main/python/resource_management/libraries/script/script.py 
b/ambari-agent/src/main/python/resource_management/libraries/script/script.py
index a51c9e8..845ed1d 100644
--- 
a/ambari-agent/src/main/python/resource_management/libraries/script/script.py
+++ 
b/ambari-agent/src/main/python/resource_management/libraries/script/script.py
@@ -143,7 +143,7 @@ class Script(object):
     self.install_packages(env)
 
 
-  def install_packages(self, env):
+  def install_packages(self, env, exclude_packages=[]):
     """
     List of packages that are required by service is received from the server
     as a command parameter. The method installs all packages
@@ -157,8 +157,9 @@ class Script(object):
       if isinstance(package_list_str,basestring) and len(package_list_str) > 0:
         package_list = json.loads(package_list_str)
         for package in package_list:
-          name = package['name']
-          Package(name)
+          if not package['name'] in exclude_packages:
+            name = package['name']
+            Package(name)
     except KeyError:
       pass # No reason to worry
     

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/datanode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/datanode.py
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/datanode.py
index 379594d..e8037d5 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/datanode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/datanode.py
@@ -26,7 +26,7 @@ class DataNode(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
 
   def start(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/hdfs_client.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/hdfs_client.py
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/hdfs_client.py
index 3adc40d..8e3fc5d 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/hdfs_client.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/hdfs_client.py
@@ -26,7 +26,7 @@ class HdfsClient(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
     self.configure(env)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/namenode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/namenode.py
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/namenode.py
index 759832c..847e536 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/namenode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/namenode.py
@@ -26,7 +26,7 @@ class NameNode(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
 
   def start(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
index 9307910..fb96f93 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
@@ -143,4 +143,10 @@ HdfsDirectory = functools.partial(
   keytab = hdfs_user_keytab,
   kinit_path_local = kinit_path_local
 )
-limits_conf_dir = "/etc/security/limits.d"
\ No newline at end of file
+limits_conf_dir = "/etc/security/limits.d"
+
+io_compression_codecs = 
config['configurations']['core-site']['io.compression.codecs']
+if not "com.hadoop.compression.lzo" in io_compression_codecs:
+  exclude_packages = ["lzo", "hadoop-lzo", "hadoop-lzo-native"]
+else:
+  exclude_packages = []

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/snamenode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/snamenode.py
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/snamenode.py
index 62fe2bc..5eb25d2 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/snamenode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/snamenode.py
@@ -28,7 +28,7 @@ class SNameNode(Script):
 
     env.set_params(params)
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
 
 
   def start(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/datanode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/datanode.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/datanode.py
index b925071..c1a66fb 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/datanode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/datanode.py
@@ -26,7 +26,7 @@ class DataNode(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
 
   def start(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_client.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_client.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_client.py
index 94edd21..3b4cf3e 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_client.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_client.py
@@ -26,7 +26,7 @@ class HdfsClient(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
     self.config(env)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/journalnode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/journalnode.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/journalnode.py
index e833611..de18c88 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/journalnode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/journalnode.py
@@ -26,7 +26,7 @@ class JournalNode(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
 
   def start(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/namenode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/namenode.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/namenode.py
index 8aa9bd2..2c091b7 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/namenode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/namenode.py
@@ -26,7 +26,7 @@ class NameNode(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
     #TODO we need this for HA because of manual steps
     self.configure(env)

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
index a12b3e7..cd42a7a 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
@@ -162,3 +162,9 @@ HdfsDirectory = functools.partial(
 )
 
 limits_conf_dir = "/etc/security/limits.d"
+
+io_compression_codecs = 
config['configurations']['core-site']['io.compression.codecs']
+if not "com.hadoop.compression.lzo" in io_compression_codecs:
+  exclude_packages = ["lzo", "hadoop-lzo", "hadoop-lzo-native", "liblzo2-2"]
+else:
+  exclude_packages = []

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/snamenode.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/snamenode.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/snamenode.py
index 62fe2bc..5eb25d2 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/snamenode.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/snamenode.py
@@ -28,7 +28,7 @@ class SNameNode(Script):
 
     env.set_params(params)
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
 
 
   def start(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/82bbd3ea/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/zkfc_slave.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/zkfc_slave.py
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/zkfc_slave.py
index c95800e..fd9bbfa 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/zkfc_slave.py
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/zkfc_slave.py
@@ -26,7 +26,7 @@ class ZkfcSlave(Script):
   def install(self, env):
     import params
 
-    self.install_packages(env)
+    self.install_packages(env, params.exclude_packages)
     env.set_params(params)
 
   def start(self, env):

Reply via email to