You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2014/11/24 15:22:01 UTC

[2/2] ambari git commit: AMBARI-7796. Ability to support umask 027 (Szilard Nemethy via ncole)

AMBARI-7796. Ability to support umask 027 (Szilard Nemethy via ncole)


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

Branch: refs/heads/trunk
Commit: 84ecfa56265f39b8c28022aca7b22825bfd51536
Parents: 8559983
Author: Nate Cole <nc...@hortonworks.com>
Authored: Mon Nov 24 09:19:58 2014 -0500
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Mon Nov 24 09:19:58 2014 -0500

----------------------------------------------------------------------
 ambari-server/src/main/python/ambari-server.py  |  1 +
 .../2.0.6/hooks/before-ANY/scripts/params.py    |  3 ++
 .../before-ANY/scripts/shared_initialization.py | 16 +++++-
 .../scripts/shared_initialization.py            |  2 +-
 .../GANGLIA/package/files/setupGanglia.sh       |  2 +-
 .../GANGLIA/package/scripts/ganglia_server.py   |  4 ++
 .../services/HBASE/package/scripts/hbase.py     | 12 +++++
 .../services/HBASE/package/scripts/params.py    |  3 +-
 .../HDFS/package/scripts/hdfs_datanode.py       |  5 ++
 .../HDFS/package/scripts/hdfs_namenode.py       |  6 +++
 .../HDFS/package/scripts/hdfs_snamenode.py      |  5 ++
 .../HDFS/package/scripts/journalnode.py         |  5 ++
 .../HDFS/package/scripts/service_check.py       |  3 +-
 .../services/HDFS/package/scripts/zkfc_slave.py |  5 ++
 .../2.0.6/services/HIVE/package/scripts/hive.py |  6 ++-
 .../services/HIVE/package/scripts/params.py     |  7 +--
 .../services/OOZIE/package/files/oozieSmoke2.sh |  2 +
 .../services/OOZIE/package/scripts/oozie.py     |  7 +--
 .../services/OOZIE/package/scripts/params.py    |  3 +-
 .../2.0.6/services/PIG/package/scripts/pig.py   |  1 +
 .../services/YARN/package/scripts/params.py     |  2 +
 .../2.0.6/services/YARN/package/scripts/yarn.py | 10 +++-
 .../services/FALCON/package/scripts/falcon.py   | 19 +++++--
 .../services/FALCON/package/scripts/params.py   |  3 +-
 .../2.1/services/TEZ/package/scripts/params.py  |  3 +-
 .../HDP/2.1/services/TEZ/package/scripts/tez.py |  3 ++
 .../stacks/2.0.6/GANGLIA/test_ganglia_server.py |  4 ++
 .../stacks/2.0.6/HBASE/test_hbase_client.py     | 21 +++++++-
 .../stacks/2.0.6/HBASE/test_hbase_master.py     | 20 +++++++
 .../2.0.6/HBASE/test_hbase_regionserver.py      | 20 +++++++
 .../python/stacks/2.0.6/HDFS/test_datanode.py   | 40 ++++++++++++++
 .../stacks/2.0.6/HDFS/test_journalnode.py       | 10 ++++
 .../python/stacks/2.0.6/HDFS/test_namenode.py   | 20 +++++++
 .../python/stacks/2.0.6/HDFS/test_snamenode.py  | 20 +++++++
 .../test/python/stacks/2.0.6/HDFS/test_zkfc.py  | 10 ++++
 .../stacks/2.0.6/HIVE/test_hive_client.py       |  6 +++
 .../stacks/2.0.6/HIVE/test_hive_metastore.py    |  6 +++
 .../stacks/2.0.6/HIVE/test_hive_server.py       |  6 +++
 .../stacks/2.0.6/OOZIE/test_oozie_server.py     | 32 ++++++++++-
 .../python/stacks/2.0.6/PIG/test_pig_client.py  |  3 ++
 .../stacks/2.0.6/YARN/test_historyserver.py     | 38 +++++++++++++
 .../stacks/2.0.6/YARN/test_mapreduce2_client.py | 38 +++++++++++++
 .../stacks/2.0.6/YARN/test_nodemanager.py       | 50 +++++++++++++++++
 .../stacks/2.0.6/YARN/test_resourcemanager.py   | 38 +++++++++++++
 .../stacks/2.0.6/YARN/test_yarn_client.py       | 57 ++++++++++++++++++++
 .../2.0.6/hooks/before-ANY/test_before_any.py   | 15 +++++-
 .../hooks/before-INSTALL/test_before_install.py |  2 +-
 .../stacks/2.1/FALCON/test_falcon_client.py     |  9 +++-
 .../stacks/2.1/FALCON/test_falcon_server.py     | 10 ++++
 .../stacks/2.1/HIVE/test_hive_metastore.py      |  6 +++
 .../python/stacks/2.1/TEZ/test_tez_client.py    |  4 ++
 .../stacks/2.1/YARN/test_apptimelineserver.py   | 19 +++++++
 52 files changed, 613 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/python/ambari-server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari-server.py b/ambari-server/src/main/python/ambari-server.py
index 91deb74..fc3b843 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -2035,6 +2035,7 @@ class RetCodeException(Exception):
 def install_jdk(dest_file):
   print "Installing JDK to {0}".format(JDK_INSTALL_DIR)
   retcode, out, err = run_os_command(CREATE_JDK_DIR_CMD)
+  retcode, out, err = run_os_command(MAKE_FILE_EXECUTABLE_CMD.format(JDK_INSTALL_DIR))
   savedPath = os.getcwd()
   os.chdir(JDK_INSTALL_DIR)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
index e657002..a32d0fa 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
@@ -95,6 +95,9 @@ else:
   hadoop_home = "/usr/lib/hadoop"
   hadoop_secure_dn_user = hdfs_user
 
+hadoop_root_dir = "/hadoop"
+hadoop_data_dir = "/hadoop/hdfs"
+hadoop_dir = "/etc/hadoop"
 hadoop_conf_dir = "/etc/hadoop/conf"
 hadoop_conf_empty_dir = "/etc/hadoop/conf.empty"
 versioned_hdp_root = '/usr/hdp/current'

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
index 126b8bb..9163b8b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
@@ -99,10 +99,21 @@ def setup_hadoop_env():
       tc_owner = "root"
     else:
       tc_owner = params.hdfs_user
+
+    Directory(params.hadoop_root_dir,
+              mode=0755
+    )
+    Directory(params.hadoop_dir,
+              mode=0755
+    )
+    Directory(params.hadoop_data_dir,
+              owner=params.hdfs_user,
+              group=params.user_group
+    )
     Directory(params.hadoop_conf_empty_dir,
               recursive=True,
-              owner='root',
-              group='root'
+              owner=tc_owner,
+              group=params.user_group
     )
     Link(params.hadoop_conf_dir,
          to=params.hadoop_conf_empty_dir,
@@ -110,5 +121,6 @@ def setup_hadoop_env():
     )
     File(os.path.join(params.hadoop_conf_dir, 'hadoop-env.sh'),
          owner=tc_owner,
+         group=params.user_group,
          content=InlineTemplate(params.hadoop_env_sh_template)
     )

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
index 7022993..a909a69 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
@@ -48,7 +48,7 @@ def setup_java():
   if params.jdk_name.endswith(".bin"):
     install_cmd = format("mkdir -p {java_dir} ; chmod +x {jdk_curl_target}; cd {java_dir} ; echo A | {jdk_curl_target} -noregister > /dev/null 2>&1")
   elif params.jdk_name.endswith(".gz"):
-    install_cmd = format("mkdir -p {java_dir} ; cd {java_dir} ; tar -xf {jdk_curl_target} > /dev/null 2>&1")
+    install_cmd = format("mkdir -p {java_dir} ; chmod a+x {java_dir} ; cd {java_dir} ; tar -xf {jdk_curl_target} > /dev/null 2>&1")
 
   Execute(install_cmd,
           path = ["/bin","/usr/bin/"],

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/files/setupGanglia.sh
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/files/setupGanglia.sh b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/files/setupGanglia.sh
index e700eaa..704766e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/files/setupGanglia.sh
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/files/setupGanglia.sh
@@ -118,7 +118,7 @@ done
 createDirectory ${GANGLIA_CONF_DIR};
 createDirectory ${GANGLIA_RUNTIME_DIR};
 # So rrdcached can drop its PID files in here.
-chmod a+w ${GANGLIA_RUNTIME_DIR};
+chmod -R o+rw ${GANGLIA_RUNTIME_DIR};
 chown ${owner}:${group} ${GANGLIA_CONF_DIR};
 
 if [ -n "${gmondClusterName}" ]

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
index c38366f..93947b1 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
@@ -80,6 +80,10 @@ class GangliaServer(Script):
 def change_permission():
   import params
 
+  Directory(os.path.abspath(os.path.join(params.ganglia_runtime_dir, "..")),
+            mode=0755,
+            recursive=True
+  )
   Directory(params.dwoo_path,
             mode=0755,
             recursive=True

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/hbase.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/hbase.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/hbase.py
index d312f0b..381ec1c 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/hbase.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/hbase.py
@@ -26,6 +26,10 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
               ):
   import params
 
+  Directory( params.hbase_conf_dir_prefix,
+      mode=0755
+  )
+
   Directory( params.hbase_conf_dir,
       owner = params.hbase_user,
       group = params.user_group,
@@ -34,6 +38,14 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
 
   Directory (params.tmp_dir,
              owner = params.hbase_user,
+             mode=0775,
+             recursive = True
+  )
+
+  Directory (params.local_dir,
+             owner = params.hbase_user,
+             group = params.user_group,
+             mode=0775,
              recursive = True
   )
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/params.py
index 32b5307..7a0b47e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/params.py
@@ -46,7 +46,8 @@ else:
   hbase_cmd = "/usr/lib/hbase/bin/hbase"
 
 hadoop_conf_dir = "/etc/hadoop/conf"
-hbase_conf_dir = "/etc/hbase/conf"
+hbase_conf_dir_prefix = "/etc/hbase"
+hbase_conf_dir = format("{hbase_conf_dir_prefix}/conf")
 hbase_excluded_hosts = config['commandParams']['excluded_hosts']
 hbase_drain_only = default("/commandParams/mark_draining_only",False)
 hbase_included_hosts = config['commandParams']['included_hosts']

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_datanode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_datanode.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_datanode.py
index c93c6e4..3150bab 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_datanode.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_datanode.py
@@ -48,6 +48,11 @@ def datanode(action=None):
     handle_dfs_data_dir(create_dirs, params)
 
   elif action == "start" or action == "stop":
+    Directory(params.hadoop_pid_dir_prefix,
+              mode=0755,
+              owner=params.hdfs_user,
+              group=params.user_group
+    )
     service(
       action=action, name="datanode",
       user=params.hdfs_user,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
index ed4d7bf..0773ca7 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
@@ -39,6 +39,12 @@ def namenode(action=None, do_format=True):
          group=params.user_group
     )
 
+    Directory(params.hadoop_pid_dir_prefix,
+              mode=0755,
+              owner=params.hdfs_user,
+              group=params.user_group
+    )
+
     service(
       action="start", name="namenode", user=params.hdfs_user,
       create_pid_dir=True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_snamenode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_snamenode.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_snamenode.py
index 49241b4..54c90cb 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_snamenode.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_snamenode.py
@@ -36,6 +36,11 @@ def snamenode(action=None, format=False):
          owner=params.hdfs_user,
          group=params.user_group)
   elif action == "start" or action == "stop":
+    Directory(params.hadoop_pid_dir_prefix,
+              mode=0755,
+              owner=params.hdfs_user,
+              group=params.user_group
+    )
     service(
       action=action,
       name="secondarynamenode",

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/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 de18c88..c0b2181 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
@@ -34,6 +34,11 @@ class JournalNode(Script):
 
     env.set_params(params)
     self.configure(env)
+    Directory(params.hadoop_pid_dir_prefix,
+              mode=0755,
+              owner=params.hdfs_user,
+              group=params.user_group
+    )
     service(
       action="start", name="journalnode", user=params.hdfs_user,
       create_pid_dir=True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/service_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/service_check.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/service_check.py
index 81d7ca5..5ef78b7 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/service_check.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/service_check.py
@@ -95,7 +95,8 @@ class HdfsServiceCheck(Script):
         "su -s /bin/bash - {smoke_test_user} -c 'python {checkWebUIFilePath} -m "
         "{comma_sep_jn_hosts} -p {journalnode_port}'")
       File(checkWebUIFilePath,
-           content=StaticFile(checkWebUIFileName))
+           content=StaticFile(checkWebUIFileName),
+           mode=0775)
 
       Execute(checkWebUICmd,
               logoutput=True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/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 fd9bbfa..c58446e 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
@@ -34,6 +34,11 @@ class ZkfcSlave(Script):
 
     env.set_params(params)
     self.configure(env)
+    Directory(params.hadoop_pid_dir_prefix,
+              mode=0755,
+              owner=params.hdfs_user,
+              group=params.user_group
+    )
     service(
       action="start", name="zkfc", user=params.hdfs_user, create_pid_dir=True,
       create_log_dir=True

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive.py
index c2b038d..a5220cb 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive.py
@@ -39,7 +39,11 @@ def hive(name=None):
                          mode=params.hive_hdfs_user_mode
     )
     params.HdfsDirectory(None, action="create")
-  
+
+  Directory(params.hive_conf_dir_prefix,
+            mode=0755
+  )
+
   # We should change configurations for client as well as for server.
   # The reason is that stale-configs are service-level, not component.
   for conf_dir in params.hive_conf_dirs_list:

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/params.py
index c1279d8..ce5543e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/params.py
@@ -62,9 +62,10 @@ else:
     webhcat_bin_dir = '/usr/lib/hive-hcatalog/sbin'
 
 hadoop_conf_dir = "/etc/hadoop/conf"
-hive_conf_dir = "/etc/hive/conf"
-hive_client_conf_dir = "/etc/hive/conf"
-hive_server_conf_dir = '/etc/hive/conf.server'
+hive_conf_dir_prefix = "/etc/hive"
+hive_conf_dir = format("{hive_conf_dir_prefix}/conf")
+hive_client_conf_dir = format("{hive_conf_dir_prefix}/conf")
+hive_server_conf_dir = format("{hive_conf_dir_prefix}/conf.server")
 
 if hdp_stack_version != "" and compare_versions(hdp_stack_version, "2.1.0.0") < 0:
   hcat_conf_dir = '/etc/hcatalog/conf'

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/files/oozieSmoke2.sh
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/files/oozieSmoke2.sh b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/files/oozieSmoke2.sh
index c355704..954f13b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/files/oozieSmoke2.sh
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/files/oozieSmoke2.sh
@@ -85,6 +85,8 @@ fi
 cd $OOZIE_EXAMPLES_DIR
 
 tar -zxf oozie-examples.tar.gz
+chmod -R o+rx examples
+
 sed -i "s|nameNode=hdfs://localhost:8020|nameNode=$NAMENODE|g"  examples/apps/map-reduce/job.properties
 sed -i "s|nameNode=hdfs://localhost:9000|nameNode=$NAMENODE|g"  examples/apps/map-reduce/job.properties
 sed -i "s|jobTracker=localhost:8021|jobTracker=$JOBTRACKER|g" examples/apps/map-reduce/job.properties

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
index bab1d78..6c80ecb 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
@@ -128,9 +128,10 @@ def oozie_server_specific():
     not_if="ls {pid_file} >/dev/null 2>&1 && !(ps `cat {pid_file}` >/dev/null 2>&1)"
   )
   
-  oozie_server_directorties = [params.oozie_pid_dir, params.oozie_log_dir, params.oozie_tmp_dir, params.oozie_data_dir, params.oozie_lib_dir, params.oozie_webapps_dir, params.oozie_webapps_conf_dir, params.oozie_server_dir]
+  oozie_server_directorties = [params.oozie_pid_dir, params.oozie_log_dir, params.oozie_tmp_dir, os.path.abspath(os.path.join(params.oozie_data_dir, "..")), params.oozie_data_dir, params.oozie_lib_dir, params.oozie_webapps_dir, params.oozie_webapps_conf_dir, params.oozie_server_dir]
   Directory( oozie_server_directorties,
     owner = params.oozie_user,
+    group = params.user_group,
     mode = 0755,
     recursive = True
   )
@@ -139,12 +140,12 @@ def oozie_server_specific():
   cmd2 = format("cd {oozie_home} && mkdir -p {oozie_tmp_dir}")
   
   # this is different for HDP1
-  cmd3 = format("cd {oozie_home} && chown {oozie_user}:{user_group} {oozie_tmp_dir} && mkdir -p {oozie_libext_dir} && cp {ext_js_path} {oozie_libext_dir}")
+  cmd3 = format("cd {oozie_home} && chown {oozie_user}:{user_group} {oozie_tmp_dir} && mkdir -p {oozie_libext_dir} && cp {ext_js_path} {oozie_libext_dir} && chown {oozie_user}:{user_group} {oozie_libext_dir}/{ext_js_file}  && chown -RL {oozie_user}:{user_group} {oozie_webapps_conf_dir}")
   if params.jdbc_driver_name=="com.mysql.jdbc.Driver" or params.jdbc_driver_name=="oracle.jdbc.driver.OracleDriver":
     cmd3 += format(" && cp {jdbc_driver_jar} {oozie_libext_dir}")
   #falcon el extension
   if params.has_falcon_host:
-    cmd3 += format(' && cp {falcon_home}/oozie/ext/falcon-oozie-el-extension-*.jar {oozie_libext_dir}')
+    cmd3 += format(' && cp {falcon_home}/oozie/ext/falcon-oozie-el-extension-*.jar {oozie_libext_dir} && chown {oozie_user}:{user_group} {oozie_libext_dir}/falcon-oozie-el-extension-*.jar')
   if params.lzo_enabled:
     Package(params.lzo_packages_for_current_host)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/params.py
index 71d1492..d62b281 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/params.py
@@ -77,7 +77,8 @@ oozie_pid_dir = status_params.oozie_pid_dir
 pid_file = status_params.pid_file
 hadoop_jar_location = "/usr/lib/hadoop/"
 # for HDP1 it's "/usr/share/HDP-oozie/ext.zip"
-ext_js_path = "/usr/share/HDP-oozie/ext-2.2.zip"
+ext_js_file = "ext-2.2.zip"
+ext_js_path = format("/usr/share/HDP-oozie/{ext_js_file}")
 security_enabled = config['configurations']['cluster-env']['security_enabled']
 oozie_heapsize = config['configurations']['oozie-env']['oozie_heapsize']
 oozie_permsize = config['configurations']['oozie-env']['oozie_permsize']

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/package/scripts/pig.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/package/scripts/pig.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/package/scripts/pig.py
index afdba8d..036b930 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/package/scripts/pig.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/package/scripts/pig.py
@@ -33,6 +33,7 @@ def pig():
 
   File(format("{pig_conf_dir}/pig-env.sh"),
     owner=params.hdfs_user,
+    mode=0755,
     content=InlineTemplate(params.pig_env_sh_template)
   )
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/params.py
index 5e066d9..1bdb229 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/params.py
@@ -109,6 +109,8 @@ hadoopMapredExamplesJarName = "hadoop-mapreduce-examples-2.*.jar"
 yarn_pid_dir = status_params.yarn_pid_dir
 mapred_pid_dir = status_params.mapred_pid_dir
 
+yarn_data_dir = "/hadoop/yarn"
+
 mapred_log_dir = format("{mapred_log_dir_prefix}/{mapred_user}")
 yarn_log_dir = format("{yarn_log_dir_prefix}/{yarn_user}")
 mapred_job_summary_log = format("{mapred_log_dir_prefix}/{mapred_user}/hadoop-mapreduce.jobsummary.log")

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/yarn.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/yarn.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/yarn.py
index 1333004..c8ed419 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/yarn.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/yarn.py
@@ -63,17 +63,19 @@ def yarn(name = None):
   if name == "nodemanager":
     Directory(params.nm_local_dirs.split(',') + params.nm_log_dirs.split(','),
               owner=params.yarn_user,
+              group=params.user_group,
               recursive=True,
               ignore_failures=True,
+              mode=0775
               )
 
-  Directory([params.yarn_pid_dir, params.yarn_log_dir],
+  Directory([params.yarn_pid_dir_prefix, params.yarn_pid_dir, params.yarn_log_dir],
             owner=params.yarn_user,
             group=params.user_group,
             recursive=True
   )
 
-  Directory([params.mapred_pid_dir, params.mapred_log_dir],
+  Directory([params.mapred_pid_dir_prefix, params.mapred_pid_dir, params.mapred_log_dir_prefix, params.mapred_log_dir],
             owner=params.mapred_user,
             group=params.user_group,
             recursive=True
@@ -83,6 +85,10 @@ def yarn(name = None):
             recursive=True,
             ignore_failures=True,
   )
+  Directory(params.yarn_data_dir,
+            owner=params.yarn_user,
+            group=params.user_group
+  )
 
   XmlConfig("core-site.xml",
             conf_dir=params.hadoop_conf_dir,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/falcon.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/falcon.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/falcon.py
index d3e1f2f..6d046fe 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/falcon.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/falcon.py
@@ -18,6 +18,7 @@ limitations under the License.
 """
 
 from resource_management import *
+import os.path
 
 def falcon(type, action = None):
   import params
@@ -35,24 +36,31 @@ def falcon(type, action = None):
     Directory(params.falcon_home,
               owner=params.falcon_user
     )
+    Directory(params.falcon_conf_dir_prefix,
+              mode=0755
+    )
     Directory(params.falcon_conf_dir,
               owner=params.falcon_user,
               recursive=True
     )
     File(params.falcon_conf_dir + '/falcon-env.sh',
-         content=InlineTemplate(params.falcon_env_sh_template)
+         content=InlineTemplate(params.falcon_env_sh_template),
+         owner=params.falcon_user
     )
     File(params.falcon_conf_dir + '/client.properties',
          content=Template('client.properties.j2'),
-         mode=0644
+         mode=0644,
+         owner=params.falcon_user
     )
     PropertiesFile(params.falcon_conf_dir + '/runtime.properties',
                    properties=params.falcon_runtime_properties,
-                   mode=0644
+                   mode=0644,
+                   owner=params.falcon_user
     )
     PropertiesFile(params.falcon_conf_dir + '/startup.properties',
                    properties=params.falcon_startup_properties,
-                   mode=0644
+                   mode=0644,
+                   owner=params.falcon_user
     )
 
     if params.falcon_graph_storage_directory:
@@ -90,6 +98,9 @@ def falcon(type, action = None):
                 recursive=True
       )
       if params.falcon_embeddedmq_enabled == True:
+        Directory(os.path.abspath(os.path.join(params.falcon_embeddedmq_data, "..")),
+                  owner=params.falcon_user
+        )
         Directory(params.falcon_embeddedmq_data,
                   owner=params.falcon_user,
                   recursive=True

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/params.py
index e652fff..323202f 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/package/scripts/params.py
@@ -39,7 +39,8 @@ else:
   falcon_home = '/usr/lib/falcon'
 
 hadoop_conf_dir = "/etc/hadoop/conf"
-falcon_conf_dir = '/etc/falcon/conf'
+falcon_conf_dir_prefix = "/etc/falcon"
+falcon_conf_dir = format("{falcon_conf_dir_prefix}/conf")
 oozie_user = config['configurations']['oozie-env']['oozie_user']
 falcon_user = config['configurations']['falcon-env']['falcon_user']
 smoke_user =  config['configurations']['cluster-env']['smokeuser']

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/params.py
index 50f6d73..f43c142 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/params.py
@@ -41,7 +41,8 @@ hdfs_user = config['configurations']['hadoop-env']['hdfs_user']
 hdfs_principal_name = config['configurations']['hadoop-env']['hdfs_principal_name']
 hdfs_user_keytab = config['configurations']['hadoop-env']['hdfs_user_keytab']
 
-config_dir = "/etc/tez/conf"
+config_dir_prefix = "/etc/tez"
+config_dir = format("{config_dir_prefix}/conf")
 
 hadoop_home = '/usr'
 java64_home = config['hostLevelParams']['java_home']

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/tez.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/tez.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/tez.py
index 37c9512..bb8b7c2 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/tez.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/package/scripts/tez.py
@@ -24,6 +24,9 @@ from resource_management import *
 def tez():
   import params
 
+  Directory(params.config_dir_prefix,
+            mode=0755
+  )
   Directory(params.config_dir,
             owner = params.tez_user,
             group = params.user_group,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
index 317635f..b8050f4 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
@@ -158,6 +158,10 @@ class TestGangliaServer(RMFTestCase):
            '/bin',
            '/usr/bin'],
     )
+    self.assertResourceCalled('Directory', '/var/run/ganglia',
+        mode=0755,
+        recursive=True
+    )
     self.assertResourceCalled('Directory', '/var/lib/ganglia-web/dwoo',
         recursive = True,
         mode = 0755,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py
index b22677b..94452fd 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py
@@ -30,6 +30,9 @@ class TestHBaseClient(RMFTestCase):
                    config_file="secured.json"
     )
 
+    self.assertResourceCalled('Directory', '/etc/hbase',
+      mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       group = 'hadoop',
@@ -37,6 +40,13 @@ class TestHBaseClient(RMFTestCase):
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
       owner = 'hbase',
+      mode=0775,
+      recursive = True,
+    )
+    self.assertResourceCalled('Directory', '/hadoop/hbase/local',
+      owner = 'hbase',
+      group = 'hadoop',
+      mode=0775,
       recursive = True,
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase/local/jars',
@@ -101,7 +111,9 @@ class TestHBaseClient(RMFTestCase):
                    command = "configure",
                    config_file="default.json"
     )
-    
+    self.assertResourceCalled('Directory', '/etc/hbase',
+      mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       group = 'hadoop',
@@ -109,6 +121,13 @@ class TestHBaseClient(RMFTestCase):
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
       owner = 'hbase',
+      mode=0775,
+      recursive = True,
+    )
+    self.assertResourceCalled('Directory', '/hadoop/hbase/local',
+      owner = 'hbase',
+      group = 'hadoop',
+      mode=0775,
       recursive = True,
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase/local/jars',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py
index 8ce021e..a2bc9b2 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py
@@ -172,6 +172,9 @@ class TestHBaseMaster(RMFTestCase):
     self.assertNoMoreResources()
 
   def assert_configure_default(self):
+    self.assertResourceCalled('Directory', '/etc/hbase',
+      mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       group = 'hadoop',
@@ -179,6 +182,13 @@ class TestHBaseMaster(RMFTestCase):
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
       owner = 'hbase',
+      mode = 0775,
+      recursive = True,
+    )
+    self.assertResourceCalled('Directory', '/hadoop/hbase/local',
+      owner = 'hbase',
+      group = 'hadoop',
+      mode=0775,
       recursive = True,
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase/local/jars',
@@ -271,6 +281,9 @@ class TestHBaseMaster(RMFTestCase):
                               )
 
   def assert_configure_secured(self):
+    self.assertResourceCalled('Directory', '/etc/hbase',
+      mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       group = 'hadoop',
@@ -278,8 +291,15 @@ class TestHBaseMaster(RMFTestCase):
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
       owner = 'hbase',
+      mode = 0775,
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/hbase/local',
+      owner = 'hbase',
+      group = 'hadoop',
+      mode=0775,
+      recursive = True
+    )
     self.assertResourceCalled('Directory', '/hadoop/hbase/local/jars',
       owner = 'hbase',
       group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py
index 3531e3e..48f483e 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py
@@ -105,6 +105,9 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertNoMoreResources()
 
   def assert_configure_default(self):
+    self.assertResourceCalled('Directory', '/etc/hbase',
+      mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       group = 'hadoop',
@@ -112,6 +115,13 @@ class TestHbaseRegionServer(RMFTestCase):
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
       owner = 'hbase',
+      mode=0775,
+      recursive = True,
+    )
+    self.assertResourceCalled('Directory', '/hadoop/hbase/local',
+      owner = 'hbase',
+      group = 'hadoop',
+      mode=0775,
       recursive = True,
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase/local/jars',
@@ -204,6 +214,9 @@ class TestHbaseRegionServer(RMFTestCase):
                               )
 
   def assert_configure_secured(self):
+    self.assertResourceCalled('Directory', '/etc/hbase',
+      mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       group = 'hadoop',
@@ -211,6 +224,13 @@ class TestHbaseRegionServer(RMFTestCase):
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
       owner = 'hbase',
+      mode=0775,
+      recursive = True,
+    )
+    self.assertResourceCalled('Directory', '/hadoop/hbase/local',
+      owner = 'hbase',
+      group = 'hadoop',
+      mode=0775,
       recursive = True,
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase/local/jars',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py
index 465f42b..e5bea87 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py
@@ -40,6 +40,11 @@ class TestDatanode(RMFTestCase):
                        config_file="default.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -64,6 +69,11 @@ class TestDatanode(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -100,6 +110,11 @@ class TestDatanode(RMFTestCase):
                        config_file="secured.json"
     )
     self.assert_configure_secured()
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -130,6 +145,11 @@ class TestDatanode(RMFTestCase):
                        config_dict = secured_json
     )
     self.assert_configure_secured()
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -163,6 +183,11 @@ class TestDatanode(RMFTestCase):
                        config_dict = secured_json
     )
     self.assert_configure_secured()
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -187,6 +212,11 @@ class TestDatanode(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -221,6 +251,11 @@ class TestDatanode(RMFTestCase):
                        command = "stop",
                        config_dict = secured_json
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -257,6 +292,11 @@ class TestDatanode(RMFTestCase):
                        command = "stop",
                        config_dict = secured_json
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py
index 91446d2..ee7825b 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py
@@ -39,6 +39,11 @@ class TestJournalnode(RMFTestCase):
                        config_file="default.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -98,6 +103,11 @@ class TestJournalnode(RMFTestCase):
                        config_file="secured.json"
     )
     self.assert_configure_secured()
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py
index 2e12e19..272b0c2 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py
@@ -60,6 +60,11 @@ class TestNamenode(RMFTestCase):
                               content = Template('exclude_hosts_list.j2'),
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -164,6 +169,11 @@ class TestNamenode(RMFTestCase):
                               content = Template('exclude_hosts_list.j2'),
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -251,6 +261,11 @@ class TestNamenode(RMFTestCase):
                               content = Template('exclude_hosts_list.j2'),
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -317,6 +332,11 @@ class TestNamenode(RMFTestCase):
                               content = Template('exclude_hosts_list.j2'),
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py
index d77164b..33d8ef6 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py
@@ -49,6 +49,11 @@ class TestSNamenode(RMFTestCase):
                               content = Template('exclude_hosts_list.j2'),
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -72,6 +77,11 @@ class TestSNamenode(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -118,6 +128,11 @@ class TestSNamenode(RMFTestCase):
                               content = Template('exclude_hosts_list.j2'),
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -141,6 +156,11 @@ class TestSNamenode(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py
index 16d3f19..03a042b 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py
@@ -59,6 +59,11 @@ class TestZkfc(RMFTestCase):
                               content = Template('slaves.j2'),
                               owner = 'hdfs',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,
@@ -139,6 +144,11 @@ class TestZkfc(RMFTestCase):
                               content = Template('slaves.j2'),
                               owner = 'root',
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop',
+                              owner = 'hdfs',
+                              group = 'hadoop',
+                              mode = 0755
+                              )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               recursive = True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py
index d4c7b26..3374fdb 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py
@@ -28,6 +28,9 @@ class TestHiveClient(RMFTestCase):
                        command = "configure",
                        config_file="default_client.json"
     )
+    self.assertResourceCalled('Directory', '/etc/hive',
+        mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hive/conf.server',
         owner = 'hive',
         group = 'hadoop',
@@ -121,6 +124,9 @@ class TestHiveClient(RMFTestCase):
                        command = "configure",
                        config_file="secured_client.json"
     )
+    self.assertResourceCalled('Directory', '/etc/hive',
+        mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hive/conf.server',
         owner = 'hive',
         group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
index 4e1ad93..7a87493 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
@@ -107,6 +107,9 @@ class TestHiveMetastore(RMFTestCase):
     self.assertNoMoreResources()
 
   def assert_configure_default(self):
+    self.assertResourceCalled('Directory', '/etc/hive',
+        mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hive/conf.server',
         owner = 'hive',
         group = 'hadoop',
@@ -220,6 +223,9 @@ class TestHiveMetastore(RMFTestCase):
     )
 
   def assert_configure_secured(self):
+    self.assertResourceCalled('Directory', '/etc/hive',
+        mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hive/conf.server',
         owner = 'hive',
         group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
index d99ac5c..94382f6 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
@@ -221,6 +221,9 @@ class TestHiveServer(RMFTestCase):
         bin_dir = '/usr/bin',
         action = ['create'],
     )
+    self.assertResourceCalled('Directory', '/etc/hive',
+        mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hive/conf.server',
         owner = 'hive',
         group = 'hadoop',
@@ -365,6 +368,9 @@ class TestHiveServer(RMFTestCase):
         kinit_path_local = '/usr/bin/kinit',
         action = ['create'],
     )
+    self.assertResourceCalled('Directory', '/etc/hive',
+        mode = 0755
+    )
     self.assertResourceCalled('Directory', '/etc/hive/conf.server',
         owner = 'hive',
         group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
index b6d5597..3c30153 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
@@ -176,41 +176,55 @@ class TestOozieServer(RMFTestCase):
                               )
     self.assertResourceCalled('Directory', '/var/run/oozie',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/log/oozie',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/tmp/oozie',
                               owner = 'oozie',
+                              group = 'hadoop',
+                              recursive = True,
+                              mode = 0755,
+                              )
+    self.assertResourceCalled('Directory', '/hadoop/oozie',
+                              owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/hadoop/oozie/data',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server/webapps/',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server/conf',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
@@ -220,7 +234,7 @@ class TestOozieServer(RMFTestCase):
     self.assertResourceCalled('Execute', 'cd /usr/lib/oozie && mkdir -p /var/tmp/oozie',
                               not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
                               )
-    self.assertResourceCalled('Execute', 'cd /usr/lib/oozie && chown oozie:hadoop /var/tmp/oozie && mkdir -p /usr/lib/oozie/libext && cp /usr/share/HDP-oozie/ext-2.2.zip /usr/lib/oozie/libext && cp /usr/lib/falcon/oozie/ext/falcon-oozie-el-extension-*.jar /usr/lib/oozie/libext',
+    self.assertResourceCalled('Execute', 'cd /usr/lib/oozie && chown oozie:hadoop /var/tmp/oozie && mkdir -p /usr/lib/oozie/libext && cp /usr/share/HDP-oozie/ext-2.2.zip /usr/lib/oozie/libext && chown oozie:hadoop /usr/lib/oozie/libext/ext-2.2.zip  && chown -RL oozie:hadoop /var/lib/oozie/oozie-server/conf && cp /usr/lib/falcon/oozie/ext/falcon-oozie-el-extension-*.jar /usr/lib/oozie/libext && chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
                               not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
                               )
     self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
@@ -291,41 +305,55 @@ class TestOozieServer(RMFTestCase):
 
     self.assertResourceCalled('Directory', '/var/run/oozie',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/log/oozie',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/tmp/oozie',
                               owner = 'oozie',
+                              group = 'hadoop',
+                              recursive = True,
+                              mode = 0755,
+                              )
+    self.assertResourceCalled('Directory', '/hadoop/oozie',
+                              owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/hadoop/oozie/data',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server/webapps/',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server/conf',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server',
                               owner = 'oozie',
+                              group = 'hadoop',
                               recursive = True,
                               mode = 0755,
                               )
@@ -335,7 +363,7 @@ class TestOozieServer(RMFTestCase):
     self.assertResourceCalled('Execute', 'cd /usr/lib/oozie && mkdir -p /var/tmp/oozie',
                               not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
                               )
-    self.assertResourceCalled('Execute', 'cd /usr/lib/oozie && chown oozie:hadoop /var/tmp/oozie && mkdir -p /usr/lib/oozie/libext && cp /usr/share/HDP-oozie/ext-2.2.zip /usr/lib/oozie/libext && cp /usr/lib/falcon/oozie/ext/falcon-oozie-el-extension-*.jar /usr/lib/oozie/libext',
+    self.assertResourceCalled('Execute', 'cd /usr/lib/oozie && chown oozie:hadoop /var/tmp/oozie && mkdir -p /usr/lib/oozie/libext && cp /usr/share/HDP-oozie/ext-2.2.zip /usr/lib/oozie/libext && chown oozie:hadoop /usr/lib/oozie/libext/ext-2.2.zip  && chown -RL oozie:hadoop /var/lib/oozie/oozie-server/conf && cp /usr/lib/falcon/oozie/ext/falcon-oozie-el-extension-*.jar /usr/lib/oozie/libext && chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
                               not_if = 'ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1',
                               )
     self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
index 51eabbd..0ed0364 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
@@ -37,6 +37,7 @@ class TestPigClient(RMFTestCase):
     )
     self.assertResourceCalled('File', '/etc/pig/conf/pig-env.sh',
       owner = 'hdfs',
+      mode=0755,
       content = InlineTemplate(self.getConfig()['configurations']['pig-env']['content'])
     )
     self.assertResourceCalled('File', '/etc/pig/conf/pig.properties',
@@ -69,6 +70,7 @@ class TestPigClient(RMFTestCase):
     )
     self.assertResourceCalled('File', '/etc/pig/conf/pig-env.sh',
       owner = 'hdfs',
+      mode=0755,
       content = InlineTemplate(self.getConfig()['configurations']['pig-env']['content'])
     )
     self.assertResourceCalled('File', '/etc/pig/conf/pig.properties',
@@ -106,6 +108,7 @@ class TestPigClient(RMFTestCase):
     )
     self.assertResourceCalled('File', '/etc/pig/conf/pig-env.sh',
                               owner = 'hdfs',
+                              mode=0755,
                               content = InlineTemplate(self.getConfig()['configurations']['pig-env']['content'])
     )
     self.assertResourceCalled('File', '/etc/pig/conf/pig.properties',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
index 5004242..a63ecb5 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py
@@ -179,6 +179,11 @@ class TestHistoryServer(RMFTestCase):
                               bin_dir = '/usr/bin',
                               action = ['create'],
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -189,11 +194,21 @@ class TestHistoryServer(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -204,6 +219,10 @@ class TestHistoryServer(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',
@@ -356,6 +375,11 @@ class TestHistoryServer(RMFTestCase):
                               bin_dir = '/usr/bin',
                               action = ['create'],
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -366,11 +390,21 @@ class TestHistoryServer(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -381,6 +415,10 @@ class TestHistoryServer(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
index 05882b6..868f22c 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_mapreduce2_client.py
@@ -34,6 +34,11 @@ class TestMapReduce2Client(RMFTestCase):
                        config_file="default.json"
     )
 
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -44,11 +49,21 @@ class TestMapReduce2Client(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -59,6 +74,10 @@ class TestMapReduce2Client(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',
@@ -152,6 +171,11 @@ class TestMapReduce2Client(RMFTestCase):
                        command = "configure",
                        config_file="secured.json"
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -162,11 +186,21 @@ class TestMapReduce2Client(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -177,6 +211,10 @@ class TestMapReduce2Client(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
index 004afb4..65e26a4 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py
@@ -178,24 +178,37 @@ class TestNodeManager(RMFTestCase):
                               )
     self.assertResourceCalled('Directory', '/hadoop/yarn/local',
                               owner = 'yarn',
+                              group = 'hadoop',
+                              mode = 0775,
                               recursive = True,
                               ignore_failures = True,
                               )
     self.assertResourceCalled('Directory', '/hadoop/yarn/local1',
                               owner = 'yarn',
                               recursive = True,
+                              group = 'hadoop',
                               ignore_failures = True,
+                              mode = 0775
                               )
     self.assertResourceCalled('Directory', '/hadoop/yarn/log',
                               owner = 'yarn',
+                              group = 'hadoop',
                               recursive = True,
                               ignore_failures = True,
+                              mode = 0775
                               )
     self.assertResourceCalled('Directory', '/hadoop/yarn/log1',
                               owner = 'yarn',
+                              group = 'hadoop',
                               recursive = True,
                               ignore_failures = True,
+                              mode = 0775
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -206,11 +219,21 @@ class TestNodeManager(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -221,6 +244,10 @@ class TestNodeManager(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',
@@ -375,14 +402,23 @@ class TestNodeManager(RMFTestCase):
                               )
     self.assertResourceCalled('Directory', '/hadoop/yarn/local',
                               owner = 'yarn',
+                              group = 'hadoop',
                               recursive = True,
                               ignore_failures = True,
+                              mode = 0775
                               )
     self.assertResourceCalled('Directory', '/hadoop/yarn/log',
                               owner = 'yarn',
+                              group = 'hadoop',
                               recursive = True,
                               ignore_failures = True,
+                              mode = 0775
                               )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -393,11 +429,21 @@ class TestNodeManager(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -408,6 +454,10 @@ class TestNodeManager(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',

http://git-wip-us.apache.org/repos/asf/ambari/blob/84ecfa56/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
index da43b8d..911d858 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py
@@ -149,6 +149,11 @@ class TestResourceManager(RMFTestCase):
 
   def assert_configure_default(self):
 
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -159,11 +164,21 @@ class TestResourceManager(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -174,6 +189,10 @@ class TestResourceManager(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',
@@ -265,6 +284,11 @@ class TestResourceManager(RMFTestCase):
 
   def assert_configure_secured(self):
 
+    self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
+      owner = 'yarn',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn/yarn',
       owner = 'yarn',
       group = 'hadoop',
@@ -275,11 +299,21 @@ class TestResourceManager(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
       recursive = True,
     )
+    self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce',
+      owner = 'mapred',
+      group = 'hadoop',
+      recursive = True,
+    )
     self.assertResourceCalled('Directory', '/var/log/hadoop-mapreduce/mapred',
       owner = 'mapred',
       group = 'hadoop',
@@ -290,6 +324,10 @@ class TestResourceManager(RMFTestCase):
       recursive = True,
       ignore_failures = True,
     )
+    self.assertResourceCalled('Directory', '/hadoop/yarn',
+      owner = 'yarn',
+      group = 'hadoop'
+    )
     self.assertResourceCalled('XmlConfig', 'core-site.xml',
       owner = 'hdfs',
       group = 'hadoop',