Prechádzať zdrojové kódy

AMBARI-14396. Add support for recursive chown in resource management library. (aonishuk)

Andrew Onishuk 9 rokov pred
rodič
commit
92c054b1d6
100 zmenil súbory, kde vykonal 676 pridanie a 585 odobranie
  1. 1 1
      ambari-agent/src/test/python/resource_management/TestDirectoryResource.py
  2. 29 3
      ambari-common/src/main/python/resource_management/core/providers/system.py
  3. 76 3
      ambari-common/src/main/python/resource_management/core/resources/system.py
  4. 33 2
      ambari-common/src/main/python/resource_management/core/sudo.py
  5. 1 1
      ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
  6. 1 1
      ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
  7. 1 1
      ambari-common/src/main/python/resource_management/libraries/script/script.py
  8. 1 1
      ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat.py
  9. 2 2
      ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive.py
  10. 4 4
      ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_configuration.py
  11. 8 4
      ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_service.py
  12. 16 22
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/ams.py
  13. 14 23
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/hbase.py
  14. 5 5
      ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py
  15. 13 13
      ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py
  16. 1 1
      ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py
  17. 1 1
      ambari-server/src/main/resources/common-services/GANGLIA/3.5.0/package/scripts/ganglia.py
  18. 1 1
      ambari-server/src/main/resources/common-services/GANGLIA/3.5.0/package/scripts/ganglia_monitor.py
  19. 6 7
      ambari-server/src/main/resources/common-services/GANGLIA/3.5.0/package/scripts/ganglia_server.py
  20. 2 2
      ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py
  21. 1 1
      ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py
  22. 6 6
      ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py
  23. 4 4
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs.py
  24. 3 3
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_datanode.py
  25. 5 5
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py
  26. 1 1
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_snamenode.py
  27. 1 1
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py
  28. 2 2
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/utils.py
  29. 3 3
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
  30. 4 4
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
  31. 1 1
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
  32. 4 4
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
  33. 14 34
      ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka.py
  34. 3 3
      ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py
  35. 2 2
      ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_server.py
  36. 12 28
      ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py
  37. 1 1
      ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout.py
  38. 17 9
      ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
  39. 1 1
      ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig.py
  40. 1 1
      ambari-server/src/main/resources/common-services/PXF/3.0.0/package/scripts/pxf.py
  41. 5 1
      ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_service.py
  42. 8 4
      ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py
  43. 9 5
      ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py
  44. 2 2
      ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider.py
  45. 1 1
      ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/setup_spark.py
  46. 1 1
      ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop.py
  47. 4 4
      ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py
  48. 2 2
      ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm_upgrade.py
  49. 1 1
      ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez.py
  50. 21 18
      ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn.py
  51. 5 5
      ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py
  52. 1 1
      ambari-server/src/main/resources/custom_actions/scripts/check_host.py
  53. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/hooks/before-ANY/scripts/shared_initialization.py
  54. 3 3
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/hooks/before-START/scripts/shared_initialization.py
  55. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/FLUME/package/scripts/flume.py
  56. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/package/scripts/ganglia.py
  57. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/package/scripts/ganglia_monitor.py
  58. 3 3
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/package/scripts/ganglia_server.py
  59. 5 5
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HBASE/package/scripts/hbase.py
  60. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs.py
  61. 2 2
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs_datanode.py
  62. 2 2
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs_namenode.py
  63. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs_snamenode.py
  64. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/journalnode.py
  65. 2 2
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/utils.py
  66. 3 3
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/hcat.py
  67. 2 2
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/hive.py
  68. 3 3
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/webhcat.py
  69. 2 2
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/OOZIE/package/scripts/oozie.py
  70. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/PIG/package/scripts/pig.py
  71. 1 1
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/package/scripts/mapred_service_check.py
  72. 5 5
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/package/scripts/yarn.py
  73. 4 4
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/ZOOKEEPER/package/scripts/zookeeper.py
  74. 8 10
      ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
  75. 2 2
      ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/rack_awareness.py
  76. 4 4
      ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py
  77. 2 2
      ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/FALCON/package/scripts/falcon.py
  78. 1 1
      ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/STORM/package/scripts/storm.py
  79. 1 1
      ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/TEZ/package/scripts/tez.py
  80. 5 5
      ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/YARN/package/scripts/yarn.py
  81. 16 27
      ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_collector.py
  82. 4 4
      ambari-server/src/test/python/stacks/2.0.6/FLUME/test_flume.py
  83. 2 2
      ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py
  84. 7 8
      ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
  85. 8 8
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py
  86. 18 18
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py
  87. 24 24
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py
  88. 16 16
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_phoenix_queryserver.py
  89. 20 20
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py
  90. 1 1
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py
  91. 12 12
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py
  92. 30 30
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py
  93. 8 8
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_nfsgateway.py
  94. 13 13
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py
  95. 20 20
      ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py
  96. 6 6
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hcat_client.py
  97. 4 4
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py
  98. 15 15
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
  99. 10 10
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
  100. 12 12
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py

+ 1 - 1
ambari-agent/src/test/python/resource_management/TestDirectoryResource.py

@@ -63,7 +63,7 @@ class TestDirectoryResource(TestCase):
            mode=0777,
            mode=0777,
            owner="hdfs",
            owner="hdfs",
            group="hadoop",
            group="hadoop",
-           recursive=True
+           create_parents = True
       )
       )
       
       
     os_makedirs_mock.assert_called_with('/a/b/c/d', 0777)
     os_makedirs_mock.assert_called_with('/a/b/c/d', 0777)

+ 29 - 3
ambari-common/src/main/python/resource_management/core/providers/system.py

@@ -34,7 +34,12 @@ from resource_management.core import ExecuteTimeoutException
 from resource_management.core.providers import Provider
 from resource_management.core.providers import Provider
 from resource_management.core.logger import Logger
 from resource_management.core.logger import Logger
 
 
-def _ensure_metadata(path, user, group, mode=None, cd_access=None):
+def assert_not_safemode_folder(path, safemode_folders):
+  if os.path.abspath(path) in safemode_folders:
+    raise Fail(("Not performing recursive operation ('recursive_ownership' or 'recursive_mode_flags') on folder '%s'" +
+    " as this can damage the system. Please pass changed safemode_folders parameter to Directory resource if you really intend to do this.") % (path))
+
+def _ensure_metadata(path, user, group, mode=None, cd_access=None, recursive_ownership=False, recursive_mode_flags=None, recursion_follow_links=False, safemode_folders=[]):
   user_entity = group_entity = None
   user_entity = group_entity = None
 
 
   if user or group:
   if user or group:
@@ -62,7 +67,26 @@ def _ensure_metadata(path, user, group, mode=None, cd_access=None):
       Logger.info(
       Logger.info(
         "Changing group for %s from %d to %s" % (path, stat.st_gid, group))
         "Changing group for %s from %d to %s" % (path, stat.st_gid, group))
   
   
+  if recursive_ownership:
+    assert_not_safemode_folder(path, safemode_folders)
+    sudo.chown_recursive(path, _user_entity, _group_entity, recursion_follow_links)
+  
   sudo.chown(path, user_entity, group_entity)
   sudo.chown(path, user_entity, group_entity)
+  
+  if recursive_mode_flags:
+    if not isinstance(recursive_mode_flags, dict):
+      raise Fail("'recursion_follow_links' value should be a dictionary with 'f' and(or) 'd' key (for file and directory permission flags)")
+    
+    regexp_to_match = "^({0},)*({0})$".format("[ugoa]+[+=-][rwx]+" )
+    for key, flags in recursive_mode_flags.iteritems():
+      if key != 'd' and key != 'f':
+        raise Fail("'recursive_mode_flags' with value '%s' has unknown key '%s', only keys 'f' and 'd' are valid" % (str(recursive_mode_flags), str(key)))
+          
+      if not re.match(regexp_to_match, flags):
+        raise Fail("'recursive_mode_flags' found '%s', but should value format have the following format: [ugoa...][[+-=][perms...]...]." % (str(flags)))
+    
+    assert_not_safemode_folder(path, safemode_folders)
+    sudo.chmod_recursive(path, recursive_mode_flags, recursion_follow_links)
 
 
   if mode:
   if mode:
     stat = sudo.stat(path)
     stat = sudo.stat(path)
@@ -156,7 +180,7 @@ class DirectoryProvider(Provider):
         if path != self.resource.path:
         if path != self.resource.path:
           Logger.info("Following the link {0} to {1} to create the directory".format(self.resource.path, path))
           Logger.info("Following the link {0} to {1} to create the directory".format(self.resource.path, path))
 
 
-      if self.resource.recursive:
+      if self.resource.create_parents:
         sudo.makedirs(path, self.resource.mode or 0755)
         sudo.makedirs(path, self.resource.mode or 0755)
       else:
       else:
         dirname = os.path.dirname(path)
         dirname = os.path.dirname(path)
@@ -169,7 +193,9 @@ class DirectoryProvider(Provider):
       raise Fail("Applying %s failed, file %s already exists" % (self.resource, path))
       raise Fail("Applying %s failed, file %s already exists" % (self.resource, path))
     
     
     _ensure_metadata(path, self.resource.owner, self.resource.group,
     _ensure_metadata(path, self.resource.owner, self.resource.group,
-                        mode=self.resource.mode, cd_access=self.resource.cd_access)
+                        mode=self.resource.mode, cd_access=self.resource.cd_access,
+                        recursive_ownership=self.resource.recursive_ownership, recursive_mode_flags=self.resource.recursive_mode_flags, 
+                        recursion_follow_links=self.resource.recursion_follow_links, safemode_folders=self.resource.safemode_folders)
 
 
   def action_delete(self):
   def action_delete(self):
     path = self.resource.path
     path = self.resource.path

+ 76 - 3
ambari-common/src/main/python/resource_management/core/resources/system.py

@@ -60,10 +60,11 @@ class Directory(Resource):
   group = ResourceArgument()
   group = ResourceArgument()
   follow = BooleanArgument(default=True)  # follow links?
   follow = BooleanArgument(default=True)  # follow links?
   """
   """
-  this works for 'create', 'delete' is anyway recursive
-  recursive means only "mkdir -p", it does NOT perform recursive chown/chmod
+  Example:
+  Directory('/a/b/c/d', create_parents=False) # will fail unless /a/b/c exists
+  Directory('/a/b/c/d', create_parents=True) # will succeed if /a/b/c doesn't exists
   """
   """
-  recursive = BooleanArgument(default=False)
+  create_parents = BooleanArgument(default=False)
   """
   """
   Grants x-bit for all the folders up-to the directory
   Grants x-bit for all the folders up-to the directory
   
   
@@ -75,6 +76,78 @@ class Directory(Resource):
   The letters can be combined together.
   The letters can be combined together.
   """
   """
   cd_access = ResourceArgument()
   cd_access = ResourceArgument()
+  """
+  If True sets the user and group mentioned in arguments, for all the contents of folder and its subfolder.
+  
+  CAUNTION: THIS IS NO RECOMENDED TO USE THIS, please treat such a usages as last resort hacks. 
+  The problem with using recursive permissions setting is that the system can be damaged badly by doing this,
+  imagine recursively setting for '/' or '/etc' (it can break the system) or other important for user folder.
+  This is partially fixed by 'safemode_folders' feature, but still is risky.
+  
+  See also: safemode_folders, recursion_follow_links
+  """
+  recursive_ownership = BooleanArgument(default=False)
+  
+  """
+  A dictionary, which gives the mode flags which should be set for files in key 'f', and for
+  directories in key 'd'.
+  
+  The format of those flags should be symbolic format used in chmod. From chmod man page:
+  the format of a symbolic mode is [ugoa...][[+-=][perms...]...], 
+  where perms is either zero or more letters from the set rwxXst, or a single letter from the set ugo.  
+  Multiple symbolic modes can be given, separated  by commas.
+  
+  u - user who is owner
+  g - user from group
+  o - other users
+  a - all
+  
+  Example:
+  recursive_mode_flags = {
+    'd': 'u+rwx,g+rx' # for subfolders, enforce 'rwx' (read,write,execute) for owner of the file, and 'rx' (read,execute) for group, don't change 'others' permissions
+    'f': 'u+rw,go+r' # for files in the directory, enforce 'rw' (read, write) for owner of the file, and 'r' (read) for group and others.
+  }
+  
+  recursive_mode_flags = {
+    'd': 'a+rwx' # for subfolders, enforce rwxrwxrwx (777) permisons. 
+    'f': 'a+rw' # for files in the directory, enforce adding 'rw' (read,write) to original permissions. If file had 'x' bit before it will stay there.
+  }
+  
+  CAUNTION: THIS IS NO RECOMENDED TO USE THIS, please treat such a usages as last resort hacks. 
+  The problem with using recursive permissions setting is that the system can be damaged badly by doing this,
+  imagine recursively setting permissions for '/' or '/etc' (it can break the system) or other important for user folder.
+  This is partially fixed by 'safemode_folders' feature, but still is risky. 
+  
+  See also: safemode_folders, recursion_follow_links   
+  """
+  recursive_mode_flags = ResourceArgument(default=None)
+  
+  """
+  This is the list folder which are not allowed to be recursively chmod-ed or chown-ed. (recursive_ownership and recursive_mode_flags).
+  Fail exception will appear if tried.
+  
+  Example of a dangerous code, which will not be succeed:
+  Directory("/",
+    owner="my_user", 
+    recursive_ownership=True
+  )
+  
+  This aims to the resolve the problem of mistakenly doing recursive actions for system necessary folders.
+  which results in damaging the operating system.
+  """
+  safemode_folders =  ForcedListArgument(default=["/", "/bin", "/sbin", "/etc", "/dev",
+                                                  "/proc", "/var", "/usr", "/home", "/boot", "/lib", "/opt",
+                                                  "/mnt", "/media", "/srv", "/root", "/sys" ])
+  
+  """
+  If True while recursive chown/chmod is done (recursive_ownership or recursive_mode_flags),
+  symlinks will be followed, duing recursion walking, also 
+  this will also make chmod/chown to set permissions for symlink targets, not for symlink itself.
+  
+  Note: if recursion_follow_links=False chmod will not set permissions nor on symlink neither on targets. 
+  As according to chmod man: 'This is not a problem since the permissions of symbolic links are never used'. 
+  """
+  recursion_follow_links = BooleanArgument(default=False)
 
 
   actions = Resource.actions + ["create", "delete"]
   actions = Resource.actions + ["create", "delete"]
 
 

+ 33 - 2
ambari-common/src/main/python/resource_management/core/sudo.py

@@ -36,6 +36,21 @@ if os.geteuid() == 0:
     gid = group.gr_gid if group else -1
     gid = group.gr_gid if group else -1
     if uid != -1 or gid != -1:
     if uid != -1 or gid != -1:
       return os.chown(path, uid, gid)
       return os.chown(path, uid, gid)
+      
+  def chown_recursive(path, owner, group, follow_links=False):
+    uid = owner.pw_uid if owner else -1
+    gid = group.gr_gid if group else -1
+    
+    if uid == -1 and gid == -1:
+      return
+      
+    for root, dirs, files in os.walk(path, followlinks=follow_links):
+      for name in files + dirs:
+        if follow_links:
+          os.chown(os.path.join(root, name), uid, gid)
+        else:
+          os.lchown(os.path.join(root, name), uid, gid)
+            
   
   
   def chmod(path, mode):
   def chmod(path, mode):
     return os.chmod(path, mode)
     return os.chmod(path, mode)
@@ -112,7 +127,6 @@ if os.geteuid() == 0:
     
     
     
     
 else:
 else:
-
   # os.chown replacement
   # os.chown replacement
   def chown(path, owner, group):
   def chown(path, owner, group):
     owner = owner.pw_name if owner else ""
     owner = owner.pw_name if owner else ""
@@ -120,6 +134,15 @@ else:
     if owner or group:
     if owner or group:
       shell.checked_call(["chown", owner+":"+group, path], sudo=True)
       shell.checked_call(["chown", owner+":"+group, path], sudo=True)
       
       
+  def chown_recursive(path, owner, group, follow_links=False):
+    owner = owner.pw_name if owner else ""
+    group = group.gr_name if group else ""
+    if owner or group:
+      flags = ["-R"]
+      if follow_links:
+        flags.append("-L")
+      shell.checked_call(["chown"] + flags + [owner+":"+group, path], sudo=True)
+      
   # os.chmod replacement
   # os.chmod replacement
   def chmod(path, mode):
   def chmod(path, mode):
     shell.checked_call(["chmod", oct(mode), path], sudo=True)
     shell.checked_call(["chmod", oct(mode), path], sudo=True)
@@ -226,4 +249,12 @@ else:
     
     
   # shutil.copy replacement
   # shutil.copy replacement
   def copy(src, dst):
   def copy(src, dst):
-    shell.checked_call(["sudo", "cp", "-r", src, dst], sudo=True)
+    shell.checked_call(["sudo", "cp", "-r", src, dst], sudo=True)
+    
+def chmod_recursive(path, recursive_mode_flags, recursion_follow_links):
+  find_flags = []
+  if recursion_follow_links:
+    find_flags.append('-L')
+    
+  for key, flags in recursive_mode_flags.iteritems():
+    shell.checked_call(["find"] + find_flags + [path, "-type", key, "-exec" , "chmod", flags ,"{}" ,";"])

+ 1 - 1
ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py

@@ -228,7 +228,7 @@ def create(stack_name, package, version, dry_run = False):
       Directory(d,
       Directory(d,
           mode=0755,
           mode=0755,
           cd_access='a',
           cd_access='a',
-          recursive=True)
+          create_parents=True)
 
 
   return dirs
   return dirs
 
 

+ 1 - 1
ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py

@@ -90,7 +90,7 @@ def setup_ranger_plugin(component_select_name, service_name,
       owner = component_user,
       owner = component_user,
       group = component_group,
       group = component_group,
       mode=0775,
       mode=0775,
-      recursive = True,
+      create_parents = True,
       cd_access = 'a'
       cd_access = 'a'
     )
     )
 
 

+ 1 - 1
ambari-common/src/main/python/resource_management/libraries/script/script.py

@@ -610,7 +610,7 @@ class Script(object):
     env_configs_list = config['commandParams']['env_configs_list']
     env_configs_list = config['commandParams']['env_configs_list']
     properties_configs_list = config['commandParams']['properties_configs_list']
     properties_configs_list = config['commandParams']['properties_configs_list']
 
 
-    Directory(self.get_tmp_dir(), recursive=True)
+    Directory(self.get_tmp_dir(), create_parents = True)
 
 
     conf_tmp_dir = tempfile.mkdtemp(dir=self.get_tmp_dir())
     conf_tmp_dir = tempfile.mkdtemp(dir=self.get_tmp_dir())
     output_filename = os.path.join(self.get_tmp_dir(), config['commandParams']['output_file'])
     output_filename = os.path.join(self.get_tmp_dir(), config['commandParams']['output_file'])

+ 1 - 1
ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat.py

@@ -32,7 +32,7 @@ def hcat():
 
 
   Directory(params.hcat_pid_dir,
   Directory(params.hcat_pid_dir,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   hcat_TemplateConfig('hcat-env.sh')
   hcat_TemplateConfig('hcat-env.sh')

+ 2 - 2
ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive.py

@@ -36,7 +36,7 @@ def hive(name=None):
   Directory(hive_config_dir,
   Directory(hive_config_dir,
             owner=params.hive_user,
             owner=params.hive_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   XmlConfig("hive-site.xml",
   XmlConfig("hive-site.xml",
@@ -87,7 +87,7 @@ def crt_directory(name):
   import params
   import params
 
 
   Directory(name,
   Directory(name,
-            recursive=True,
+            create_parents = True,
             owner=params.hive_user,
             owner=params.hive_user,
             group=params.user_group,
             group=params.user_group,
             mode=0755)
             mode=0755)

+ 4 - 4
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_configuration.py

@@ -29,7 +29,7 @@ def setup_conf_dir(name=None): # 'master' or 'tserver' or 'monitor' or 'gc' or '
       mode=0755,
       mode=0755,
       owner = params.accumulo_user,
       owner = params.accumulo_user,
       group = params.user_group,
       group = params.user_group,
-      recursive = True
+      create_parents = True
   )
   )
 
 
   if name == 'client':
   if name == 'client':
@@ -65,7 +65,7 @@ def setup_conf_dir(name=None): # 'master' or 'tserver' or 'monitor' or 'gc' or '
                mode=0700,
                mode=0700,
                owner = params.accumulo_user,
                owner = params.accumulo_user,
                group = params.user_group,
                group = params.user_group,
-               recursive = True
+               create_parents = True
     )
     )
     # create a site file for server processes
     # create a site file for server processes
     configs = {}
     configs = {}
@@ -85,7 +85,7 @@ def setup_conf_dir(name=None): # 'master' or 'tserver' or 'monitor' or 'gc' or '
     Directory( params.pid_dir,
     Directory( params.pid_dir,
                owner = params.accumulo_user,
                owner = params.accumulo_user,
                group = params.user_group,
                group = params.user_group,
-               recursive = True,
+               create_parents = True,
                cd_access = "a",
                cd_access = "a",
                mode = 0755,
                mode = 0755,
     )
     )
@@ -94,7 +94,7 @@ def setup_conf_dir(name=None): # 'master' or 'tserver' or 'monitor' or 'gc' or '
     Directory (params.log_dir,
     Directory (params.log_dir,
                owner = params.accumulo_user,
                owner = params.accumulo_user,
                group = params.user_group,
                group = params.user_group,
-               recursive = True,
+               create_parents = True,
                cd_access = "a",
                cd_access = "a",
                mode = 0755,
                mode = 0755,
     )
     )

+ 8 - 4
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_service.py

@@ -20,6 +20,7 @@ limitations under the License.
 
 
 from resource_management import *
 from resource_management import *
 import time
 import time
+import os
 
 
 def accumulo_service( name,
 def accumulo_service( name,
                       action = 'start'): # 'start' or 'stop' or 'status'
                       action = 'start'): # 'start' or 'stop' or 'status'
@@ -31,10 +32,13 @@ def accumulo_service( name,
     pid_exists = format("ls {pid_file} >/dev/null 2>&1 && ps `cat {pid_file}` >/dev/null 2>&1")
     pid_exists = format("ls {pid_file} >/dev/null 2>&1 && ps `cat {pid_file}` >/dev/null 2>&1")
 
 
     if action == 'start':
     if action == 'start':
-      Execute(as_sudo(['chown','-R',params.accumulo_user+":"+params.user_group,
-                       format("$(getent passwd {accumulo_user} | cut -d: -f6)")],
-                      auto_escape=False),
-              ignore_failures=True)
+      Directory(os.path.expanduser("~"), 
+                user = params.accumulo_user,
+                group = params.user_group,
+                recursive_ownership = True,
+                ignore_failures=True
+      )
+      
       if name != 'tserver':
       if name != 'tserver':
         Execute(format("{daemon_script} org.apache.accumulo.master.state.SetGoalState NORMAL"),
         Execute(format("{daemon_script} org.apache.accumulo.master.state.SetGoalState NORMAL"),
                 not_if=as_user(pid_exists, params.accumulo_user),
                 not_if=as_user(pid_exists, params.accumulo_user),

+ 16 - 22
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/ams.py

@@ -34,12 +34,12 @@ def ams(name=None):
 
 
     Directory(params.ams_collector_conf_dir,
     Directory(params.ams_collector_conf_dir,
               owner=params.ams_user,
               owner=params.ams_user,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.ams_checkpoint_dir,
     Directory(params.ams_checkpoint_dir,
               owner=params.ams_user,
               owner=params.ams_user,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     XmlConfig("ams-site.xml",
     XmlConfig("ams-site.xml",
@@ -155,7 +155,7 @@ def ams(name=None):
 
 
     Directory(params.ams_monitor_conf_dir,
     Directory(params.ams_monitor_conf_dir,
               owner=params.ams_user,
               owner=params.ams_user,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     TemplateConfig(
     TemplateConfig(
@@ -184,24 +184,18 @@ def ams(name=None):
     Directory(params.ams_collector_conf_dir,
     Directory(params.ams_collector_conf_dir,
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True,
+              recursive_ownership = True,
     )
     )
-
-    Execute(('chown', '-R', params.ams_user, params.ams_collector_conf_dir),
-            sudo=True
-            )
-
+    
     Directory(params.ams_checkpoint_dir,
     Directory(params.ams_checkpoint_dir,
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
               cd_access="a",
               cd_access="a",
-              recursive=True
+              create_parents = True,
+              recursive_ownership = True
     )
     )
 
 
-    Execute(('chown', '-R', params.ams_user, params.ams_checkpoint_dir),
-            sudo=True
-            )
-
     XmlConfig("ams-site.xml",
     XmlConfig("ams-site.xml",
               conf_dir=params.ams_collector_conf_dir,
               conf_dir=params.ams_collector_conf_dir,
               configurations=params.config['configurations']['ams-site'],
               configurations=params.config['configurations']['ams-site'],
@@ -249,7 +243,7 @@ def ams(name=None):
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
               cd_access="a",
               cd_access="a",
-              recursive=True,
+              create_parents = True,
               mode=0755,
               mode=0755,
     )
     )
 
 
@@ -257,7 +251,7 @@ def ams(name=None):
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
               cd_access="a",
               cd_access="a",
-              recursive=True,
+              create_parents = True,
               mode=0755,
               mode=0755,
     )
     )
 
 
@@ -269,7 +263,7 @@ def ams(name=None):
 
 
     # On some OS this folder could be not exists, so we will create it before pushing there files
     # On some OS this folder could be not exists, so we will create it before pushing there files
     Directory(params.limits_conf_dir,
     Directory(params.limits_conf_dir,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group='root'
               group='root'
     )
     )
@@ -289,7 +283,7 @@ def ams(name=None):
                 mode = 0755,
                 mode = 0755,
                 group=params.user_group,
                 group=params.user_group,
                 cd_access="a",
                 cd_access="a",
-                recursive=True
+                create_parents = True
       )
       )
     pass
     pass
 
 
@@ -337,28 +331,28 @@ def ams(name=None):
     Directory(params.ams_monitor_conf_dir,
     Directory(params.ams_monitor_conf_dir,
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.ams_monitor_log_dir,
     Directory(params.ams_monitor_log_dir,
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
               mode=0755,
               mode=0755,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.ams_monitor_pid_dir,
     Directory(params.ams_monitor_pid_dir,
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
               mode=0755,
               mode=0755,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(format("{ams_monitor_dir}/psutil/build"),
     Directory(format("{ams_monitor_dir}/psutil/build"),
               owner=params.ams_user,
               owner=params.ams_user,
               group=params.user_group,
               group=params.user_group,
               cd_access="a",
               cd_access="a",
-              recursive=True)
+              create_parents = True)
 
 
     Execute(format("{sudo} chown -R {ams_user}:{user_group} {ams_monitor_dir}")
     Execute(format("{sudo} chown -R {ams_user}:{user_group} {ams_monitor_dir}")
     )
     )

+ 14 - 23
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/hbase.py

@@ -27,16 +27,16 @@ def hbase(name=None, action = None):
   import params
   import params
   Directory(params.hbase_conf_dir,
   Directory(params.hbase_conf_dir,
             owner = params.hadoop_user,
             owner = params.hadoop_user,
-            recursive = True
+            create_parents = True
   )
   )
   Directory(params.hbase_tmp_dir,
   Directory(params.hbase_tmp_dir,
-             recursive = True,
+             create_parents = True,
              owner = params.hadoop_user
              owner = params.hadoop_user
   )
   )
 
 
   Directory (os.path.join(params.local_dir, "jars"),
   Directory (os.path.join(params.local_dir, "jars"),
              owner = params.hadoop_user,
              owner = params.hadoop_user,
-             recursive = True
+             create_parents = True
   )
   )
 
 
   XmlConfig("hbase-site.xml",
   XmlConfig("hbase-site.xml",
@@ -73,7 +73,7 @@ def hbase(name=None, action = None):
   if name != "client":
   if name != "client":
     Directory (params.hbase_log_dir,
     Directory (params.hbase_log_dir,
                owner = params.hadoop_user,
                owner = params.hadoop_user,
-               recursive = True
+               create_parents = True
     )
     )
 
 
   if (params.hbase_log4j_props != None):
   if (params.hbase_log4j_props != None):
@@ -94,29 +94,23 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
   Directory(params.hbase_conf_dir,
   Directory(params.hbase_conf_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
       group = params.user_group,
       group = params.user_group,
-      recursive = True
+      create_parents = True,
+      recursive_ownership = True,
   )
   )
 
 
-  Execute(('chown', '-R', params.hbase_user, params.hbase_conf_dir),
-          sudo=True
-          )
-
   Directory (params.hbase_tmp_dir,
   Directory (params.hbase_tmp_dir,
              owner = params.hbase_user,
              owner = params.hbase_user,
              cd_access="a",
              cd_access="a",
-             recursive = True
+             create_parents = True,
+             recursive_ownership = True,
   )
   )
 
 
-  Execute(('chown', '-R', params.hbase_user, params.hbase_tmp_dir),
-          sudo=True
-          )
-
   Directory (os.path.join(params.local_dir, "jars"),
   Directory (os.path.join(params.local_dir, "jars"),
              owner = params.hbase_user,
              owner = params.hbase_user,
              group = params.user_group,
              group = params.user_group,
              cd_access="a",
              cd_access="a",
              mode=0775,
              mode=0775,
-             recursive = True
+             create_parents = True
   )
   )
 
 
   merged_ams_hbase_site = {}
   merged_ams_hbase_site = {}
@@ -139,7 +133,7 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
               mode = 0755,
               mode = 0755,
               group=params.user_group,
               group=params.user_group,
               cd_access="a",
               cd_access="a",
-              recursive=True
+              create_parents = True
     )
     )
   pass
   pass
 
 
@@ -184,14 +178,14 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
   if name != "client":
   if name != "client":
     Directory( params.hbase_pid_dir,
     Directory( params.hbase_pid_dir,
                owner = params.hbase_user,
                owner = params.hbase_user,
-               recursive = True,
+               create_parents = True,
                cd_access = "a",
                cd_access = "a",
                mode = 0755,
                mode = 0755,
     )
     )
 
 
     Directory (params.hbase_log_dir,
     Directory (params.hbase_log_dir,
                owner = params.hbase_user,
                owner = params.hbase_user,
-               recursive = True,
+               create_parents = True,
                cd_access = "a",
                cd_access = "a",
                mode = 0755,
                mode = 0755,
     )
     )
@@ -237,13 +231,10 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
       Directory(local_root_dir,
       Directory(local_root_dir,
                 owner = params.hbase_user,
                 owner = params.hbase_user,
                 cd_access="a",
                 cd_access="a",
-                recursive = True
+                create_parents = True,
+                recursive_ownership = True
       )
       )
 
 
-      Execute(('chown', '-R', params.hbase_user, local_root_dir),
-              sudo=True
-              )
-
       File(format("{params.hbase_pid_dir}/distributed_mode"), action="delete", owner=params.hbase_user)
       File(format("{params.hbase_pid_dir}/distributed_mode"), action="delete", owner=params.hbase_user)
 
 
   if params.hbase_log4j_props is not None:
   if params.hbase_log4j_props is not None:

+ 5 - 5
ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py

@@ -30,7 +30,7 @@ def metadata():
               cd_access='a',
               cd_access='a',
               owner=params.metadata_user,
               owner=params.metadata_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.conf_dir,
     Directory(params.conf_dir,
@@ -38,7 +38,7 @@ def metadata():
               cd_access='a',
               cd_access='a',
               owner=params.metadata_user,
               owner=params.metadata_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.log_dir,
     Directory(params.log_dir,
@@ -46,7 +46,7 @@ def metadata():
               cd_access='a',
               cd_access='a',
               owner=params.metadata_user,
               owner=params.metadata_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.data_dir,
     Directory(params.data_dir,
@@ -54,7 +54,7 @@ def metadata():
               cd_access='a',
               cd_access='a',
               owner=params.metadata_user,
               owner=params.metadata_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     Directory(params.expanded_war_dir,
     Directory(params.expanded_war_dir,
@@ -62,7 +62,7 @@ def metadata():
               cd_access='a',
               cd_access='a',
               owner=params.metadata_user,
               owner=params.metadata_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     File(format("{expanded_war_dir}/atlas.war"),
     File(format("{expanded_war_dir}/atlas.war"),

+ 13 - 13
ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py

@@ -41,33 +41,33 @@ def falcon(type, action = None, upgrade_type=None):
   if action == 'config':
   if action == 'config':
     Directory(params.falcon_pid_dir,
     Directory(params.falcon_pid_dir,
       owner = params.falcon_user,
       owner = params.falcon_user,
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = "a",
       cd_access = "a",
     )
     )
 
 
     Directory(params.falcon_log_dir,
     Directory(params.falcon_log_dir,
       owner = params.falcon_user,
       owner = params.falcon_user,
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = "a",
       cd_access = "a",
     )
     )
 
 
     Directory(params.falcon_webapp_dir,
     Directory(params.falcon_webapp_dir,
       owner = params.falcon_user,
       owner = params.falcon_user,
-      recursive = True)
+      create_parents = True)
 
 
     Directory(params.falcon_home,
     Directory(params.falcon_home,
       owner = params.falcon_user,
       owner = params.falcon_user,
-      recursive = True)
+      create_parents = True)
 
 
     Directory(params.etc_prefix_dir,
     Directory(params.etc_prefix_dir,
       mode = 0755,
       mode = 0755,
-      recursive = True)
+      create_parents = True)
 
 
     Directory(params.falcon_conf_dir,
     Directory(params.falcon_conf_dir,
       owner = params.falcon_user,
       owner = params.falcon_user,
-      recursive = True)
+      create_parents = True)
 
 
     File(params.falcon_conf_dir + '/falcon-env.sh',
     File(params.falcon_conf_dir + '/falcon-env.sh',
       content = InlineTemplate(params.falcon_env_sh_template),
       content = InlineTemplate(params.falcon_env_sh_template),
@@ -95,7 +95,7 @@ def falcon(type, action = None, upgrade_type=None):
         owner = params.falcon_user,
         owner = params.falcon_user,
         group = params.user_group,
         group = params.user_group,
         mode = 0775,
         mode = 0775,
-        recursive = True,
+        create_parents = True,
         cd_access = "a")
         cd_access = "a")
 
 
     if params.falcon_graph_serialize_path:
     if params.falcon_graph_serialize_path:
@@ -103,7 +103,7 @@ def falcon(type, action = None, upgrade_type=None):
         owner = params.falcon_user,
         owner = params.falcon_user,
         group = params.user_group,
         group = params.user_group,
         mode = 0775,
         mode = 0775,
-        recursive = True,
+        create_parents = True,
         cd_access = "a")
         cd_access = "a")
 
 
   if type == 'server':
   if type == 'server':
@@ -117,7 +117,7 @@ def falcon(type, action = None, upgrade_type=None):
       elif params.store_uri[0:4] == "file":
       elif params.store_uri[0:4] == "file":
         Directory(params.store_uri[7:],
         Directory(params.store_uri[7:],
           owner = params.falcon_user,
           owner = params.falcon_user,
-          recursive = True)
+          create_parents = True)
 
 
       # TODO change to proper mode
       # TODO change to proper mode
       params.HdfsResource(params.flacon_apps_dir,
       params.HdfsResource(params.flacon_apps_dir,
@@ -135,7 +135,7 @@ def falcon(type, action = None, upgrade_type=None):
       elif params.falcon_store_uri[0:4] == "file":
       elif params.falcon_store_uri[0:4] == "file":
         Directory(params.falcon_store_uri[7:],
         Directory(params.falcon_store_uri[7:],
           owner = params.falcon_user,
           owner = params.falcon_user,
-          recursive = True)
+          create_parents = True)
 
 
       if params.supports_hive_dr:
       if params.supports_hive_dr:
         params.HdfsResource(params.dfs_data_mirroring_dir,
         params.HdfsResource(params.dfs_data_mirroring_dir,
@@ -151,18 +151,18 @@ def falcon(type, action = None, upgrade_type=None):
       params.HdfsResource(None, action = "execute")
       params.HdfsResource(None, action = "execute")
       Directory(params.falcon_local_dir,
       Directory(params.falcon_local_dir,
         owner = params.falcon_user,
         owner = params.falcon_user,
-        recursive = True,
+        create_parents = True,
         cd_access = "a")
         cd_access = "a")
 
 
       if params.falcon_embeddedmq_enabled == True:
       if params.falcon_embeddedmq_enabled == True:
         Directory(
         Directory(
           os.path.abspath(os.path.join(params.falcon_embeddedmq_data, "..")),
           os.path.abspath(os.path.join(params.falcon_embeddedmq_data, "..")),
           owner = params.falcon_user,
           owner = params.falcon_user,
-          recursive = True)
+          create_parents = True)
 
 
         Directory(params.falcon_embeddedmq_data,
         Directory(params.falcon_embeddedmq_data,
           owner = params.falcon_user,
           owner = params.falcon_user,
-          recursive = True)
+          create_parents = True)
 
 
     # although Falcon's falcon-config.sh will use 'which hadoop' to figure
     # although Falcon's falcon-config.sh will use 'which hadoop' to figure
     # this out, in an upgraded cluster, it's possible that 'which hadoop'
     # this out, in an upgraded cluster, it's possible that 'which hadoop'

+ 1 - 1
ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py

@@ -96,7 +96,7 @@ def flume(action = None):
     )
     )
 
 
     Directory(params.flume_conf_dir,
     Directory(params.flume_conf_dir,
-              recursive=True,
+              create_parents = True,
               owner=params.flume_user,
               owner=params.flume_user,
               )
               )
     Directory(params.flume_log_dir, 
     Directory(params.flume_log_dir, 

+ 1 - 1
ambari-server/src/main/resources/common-services/GANGLIA/3.5.0/package/scripts/ganglia.py

@@ -35,7 +35,7 @@ def config():
   Directory(shell_cmds_dir,
   Directory(shell_cmds_dir,
             owner="root",
             owner="root",
             group="root",
             group="root",
-            recursive=True
+            create_parents = True
   )
   )
   init_file("gmetad")
   init_file("gmetad")
   init_file("gmond")
   init_file("gmond")

+ 1 - 1
ambari-server/src/main/resources/common-services/GANGLIA/3.5.0/package/scripts/ganglia_monitor.py

@@ -71,7 +71,7 @@ class GangliaMonitor(Script):
     Directory(params.ganglia_conf_dir,
     Directory(params.ganglia_conf_dir,
               owner="root",
               owner="root",
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     ganglia.config()
     ganglia.config()

+ 6 - 7
ambari-server/src/main/resources/common-services/GANGLIA/3.5.0/package/scripts/ganglia_server.py

@@ -83,14 +83,13 @@ def change_permission():
 
 
   Directory(os.path.abspath(os.path.join(params.ganglia_runtime_dir, "..")),
   Directory(os.path.abspath(os.path.join(params.ganglia_runtime_dir, "..")),
             mode=0755,
             mode=0755,
-            recursive=True
+            create_parents = True
   )
   )
   Directory(params.dwoo_path,
   Directory(params.dwoo_path,
             mode=0755,
             mode=0755,
-            recursive=True
-  )
-  Execute(('chown', '-R', params.web_user, params.dwoo_path),
-          sudo = True,
+            create_parents = True,
+            owner = params.web_user,
+            recursive_ownership = True,
   )
   )
 
 
 def server_files():
 def server_files():
@@ -98,7 +97,7 @@ def server_files():
 
 
   rrd_py_path = params.rrd_py_path
   rrd_py_path = params.rrd_py_path
   Directory(rrd_py_path,
   Directory(rrd_py_path,
-            recursive=True
+            create_parents = True
   )
   )
   rrd_py_file_path = path.join(rrd_py_path, "rrd.py")
   rrd_py_file_path = path.join(rrd_py_path, "rrd.py")
   TemplateConfig(rrd_py_file_path,
   TemplateConfig(rrd_py_file_path,
@@ -112,7 +111,7 @@ def server_files():
             owner=rrd_file_owner,
             owner=rrd_file_owner,
             group=rrd_file_owner,
             group=rrd_file_owner,
             mode=0755,
             mode=0755,
-            recursive=True
+            create_parents = True
   )
   )
   
   
   if OSCheck.is_suse_family() or OSCheck.is_ubuntu_family():
   if OSCheck.is_suse_family() or OSCheck.is_ubuntu_family():

+ 2 - 2
ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py

@@ -223,7 +223,7 @@ def __update_limits_file():
   """
   """
   import params
   import params
   # Ensure limits directory exists
   # Ensure limits directory exists
-  Directory(hawq_constants.limits_conf_dir, recursive=True, owner=hawq_constants.root_user, group=hawq_constants.root_user)
+  Directory(hawq_constants.limits_conf_dir, create_parents = True, owner=hawq_constants.root_user, group=hawq_constants.root_user)
 
 
   # Generate limits for hawq user
   # Generate limits for hawq user
   limits_file_content = "#### HAWQ Limits Parameters  ###########\n"
   limits_file_content = "#### HAWQ Limits Parameters  ###########\n"
@@ -266,7 +266,7 @@ def __update_sysctl_file():
   Updates /etc/sysctl.d/hawq_sysctl.conf file with the HAWQ parameters on CentOS/RHEL.
   Updates /etc/sysctl.d/hawq_sysctl.conf file with the HAWQ parameters on CentOS/RHEL.
   """
   """
   # Ensure sys ctl sub-directory exists
   # Ensure sys ctl sub-directory exists
-  Directory(hawq_constants.sysctl_conf_dir, recursive=True, owner=hawq_constants.root_user, group=hawq_constants.root_user)
+  Directory(hawq_constants.sysctl_conf_dir, create_parents = True, owner=hawq_constants.root_user, group=hawq_constants.root_user)
 
 
   # Generate temporary file with kernel parameters needed by hawq
   # Generate temporary file with kernel parameters needed by hawq
   File(hawq_constants.hawq_sysctl_tmp_file, content=__convert_sysctl_dict_to_text(), owner=hawq_constants.hawq_user,
   File(hawq_constants.hawq_sysctl_tmp_file, content=__convert_sysctl_dict_to_text(), owner=hawq_constants.hawq_user,

+ 1 - 1
ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py

@@ -35,7 +35,7 @@ def create_dir_as_hawq_user(directory):
   """
   """
   Creates directories with hawq_user and hawq_group (defaults to gpadmin:gpadmin)
   Creates directories with hawq_user and hawq_group (defaults to gpadmin:gpadmin)
   """
   """
-  Directory(directory, recursive=True, owner=hawq_constants.hawq_user, group=hawq_constants.hawq_group)
+  Directory(directory, create_parents = True, owner=hawq_constants.hawq_user, group=hawq_constants.hawq_group)
 
 
 
 
 def exec_hawq_operation(operation, option, not_if=None, only_if=None, logoutput=True):
 def exec_hawq_operation(operation, option, not_if=None, only_if=None, logoutput=True):

+ 6 - 6
ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py

@@ -53,13 +53,13 @@ def hbase(name=None):
   Directory( params.hbase_conf_dir,
   Directory( params.hbase_conf_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
       group = params.user_group,
       group = params.user_group,
-      recursive = True
+      create_parents = True
   )
   )
    
    
   Directory(params.java_io_tmpdir,
   Directory(params.java_io_tmpdir,
       owner = params.hbase_user,
       owner = params.hbase_user,
       group = params.user_group,
       group = params.user_group,
-      recursive = True,
+      create_parents = True,
       mode=0777
       mode=0777
   )
   )
   parent_dir = os.path.dirname(params.tmp_dir)
   parent_dir = os.path.dirname(params.tmp_dir)
@@ -68,7 +68,7 @@ def hbase(name=None):
     parent_dir = os.path.dirname(parent_dir)
     parent_dir = os.path.dirname(parent_dir)
   if parent_dir != os.path.abspath(os.sep) :
   if parent_dir != os.path.abspath(os.sep) :
     Directory (parent_dir,
     Directory (parent_dir,
-          recursive = True,
+          create_parents = True,
           cd_access="a",
           cd_access="a",
     )
     )
     Execute(("chmod", "1777", parent_dir), sudo=True)
     Execute(("chmod", "1777", parent_dir), sudo=True)
@@ -129,7 +129,7 @@ def hbase(name=None):
   
   
   # On some OS this folder could be not exists, so we will create it before pushing there files
   # On some OS this folder could be not exists, so we will create it before pushing there files
   Directory(params.limits_conf_dir,
   Directory(params.limits_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner='root',
             owner='root',
             group='root'
             group='root'
             )
             )
@@ -153,14 +153,14 @@ def hbase(name=None):
   if name != "client":
   if name != "client":
     Directory( params.pid_dir,
     Directory( params.pid_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
-      recursive = True,
+      create_parents = True,
       cd_access = "a",
       cd_access = "a",
       mode = 0755,
       mode = 0755,
     )
     )
   
   
     Directory (params.log_dir,
     Directory (params.log_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
-      recursive = True,
+      create_parents = True,
       cd_access = "a",
       cd_access = "a",
       mode = 0755,
       mode = 0755,
     )
     )

+ 4 - 4
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs.py

@@ -33,7 +33,7 @@ def hdfs(name=None):
   
   
   # On some OS this folder could be not exists, so we will create it before pushing there files
   # On some OS this folder could be not exists, so we will create it before pushing there files
   Directory(params.limits_conf_dir,
   Directory(params.limits_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner='root',
             owner='root',
             group='root'
             group='root'
   )
   )
@@ -71,7 +71,7 @@ def hdfs(name=None):
     )
     )
 
 
     Directory(params.hadoop_conf_secure_dir,
     Directory(params.hadoop_conf_secure_dir,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group=params.user_group,
               group=params.user_group,
               cd_access='a',
               cd_access='a',
@@ -122,7 +122,7 @@ def hdfs(name=None):
 def install_snappy():
 def install_snappy():
   import params
   import params
   Directory([params.so_target_dir_x86, params.so_target_dir_x64],
   Directory([params.so_target_dir_x86, params.so_target_dir_x64],
-            recursive=True,
+            create_parents = True,
   )    
   )    
   Link(params.so_target_x86,
   Link(params.so_target_x86,
        to=params.so_src_x86,
        to=params.so_src_x86,
@@ -139,7 +139,7 @@ def hdfs(component=None):
     Directory(directories,
     Directory(directories,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               mode="(OI)(CI)F",
               mode="(OI)(CI)F",
-              recursive=True
+              create_parents = True
     )
     )
     File(params.exclude_file_path,
     File(params.exclude_file_path,
          content=Template("exclude_hosts_list.j2"),
          content=Template("exclude_hosts_list.j2"),

+ 3 - 3
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_datanode.py

@@ -30,7 +30,7 @@ def create_dirs(data_dir, params):
   :param params: parameters
   :param params: parameters
   """
   """
   Directory(data_dir,
   Directory(data_dir,
-            recursive=True,
+            create_parents = True,
             cd_access="a",
             cd_access="a",
             mode=0755,
             mode=0755,
             owner=params.hdfs_user,
             owner=params.hdfs_user,
@@ -43,14 +43,14 @@ def datanode(action=None):
   if action == "configure":
   if action == "configure":
     import params
     import params
     Directory(params.dfs_domain_socket_dir,
     Directory(params.dfs_domain_socket_dir,
-              recursive=True,
+              create_parents = True,
               mode=0751,
               mode=0751,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               group=params.user_group)
               group=params.user_group)
 
 
     if not os.path.isdir(os.path.dirname(params.data_dir_mount_file)):
     if not os.path.isdir(os.path.dirname(params.data_dir_mount_file)):
       Directory(os.path.dirname(params.data_dir_mount_file),
       Directory(os.path.dirname(params.data_dir_mount_file),
-                recursive=True,
+                create_parents = True,
                 mode=0755,
                 mode=0755,
                 owner=params.hdfs_user,
                 owner=params.hdfs_user,
                 group=params.user_group)
                 group=params.user_group)

+ 5 - 5
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py

@@ -228,7 +228,7 @@ def create_name_dirs(directories):
             mode=0755,
             mode=0755,
             owner=params.hdfs_user,
             owner=params.hdfs_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True,
+            create_parents = True,
             cd_access="a",
             cd_access="a",
   )
   )
 
 
@@ -278,7 +278,7 @@ def format_namenode(force=None):
         )
         )
         for m_dir in mark_dir:
         for m_dir in mark_dir:
           Directory(m_dir,
           Directory(m_dir,
-            recursive = True
+            create_parents = True
           )
           )
   else:
   else:
     if params.dfs_ha_namenode_active is not None and \
     if params.dfs_ha_namenode_active is not None and \
@@ -298,7 +298,7 @@ def format_namenode(force=None):
           )
           )
           for m_dir in mark_dir:
           for m_dir in mark_dir:
             Directory(m_dir,
             Directory(m_dir,
-              recursive = True
+              create_parents = True
             )
             )
 
 
 def is_namenode_formatted(params):
 def is_namenode_formatted(params):
@@ -316,7 +316,7 @@ def is_namenode_formatted(params):
   if marked:
   if marked:
     for mark_dir in mark_dirs:
     for mark_dir in mark_dirs:
       Directory(mark_dir,
       Directory(mark_dir,
-        recursive = True
+        create_parents = True
       )      
       )      
     return marked  
     return marked  
   
   
@@ -334,7 +334,7 @@ def is_namenode_formatted(params):
     elif os.path.isfile(old_mark_dir):
     elif os.path.isfile(old_mark_dir):
       for mark_dir in mark_dirs:
       for mark_dir in mark_dirs:
         Directory(mark_dir,
         Directory(mark_dir,
-                  recursive = True,
+                  create_parents = True,
         )
         )
       Directory(old_mark_dir,
       Directory(old_mark_dir,
         action = "delete"
         action = "delete"

+ 1 - 1
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_snamenode.py

@@ -28,7 +28,7 @@ def snamenode(action=None, format=False):
     import params
     import params
     for fs_checkpoint_dir in params.fs_checkpoint_dirs:
     for fs_checkpoint_dir in params.fs_checkpoint_dirs:
       Directory(fs_checkpoint_dir,
       Directory(fs_checkpoint_dir,
-                recursive=True,
+                create_parents = True,
                 cd_access="a",
                 cd_access="a",
                 mode=0755,
                 mode=0755,
                 owner=params.hdfs_user,
                 owner=params.hdfs_user,

+ 1 - 1
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py

@@ -88,7 +88,7 @@ class JournalNodeDefault(JournalNode):
     import params
     import params
 
 
     Directory(params.jn_edits_dir,
     Directory(params.jn_edits_dir,
-              recursive=True,
+              create_parents = True,
               cd_access="a",
               cd_access="a",
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               group=params.user_group
               group=params.user_group

+ 2 - 2
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/utils.py

@@ -206,7 +206,7 @@ def service(action=None, name=None, user=None, options="", create_pid_dir=False,
     if create_pid_dir:
     if create_pid_dir:
       Directory(pid_dir,
       Directory(pid_dir,
                 owner=user,
                 owner=user,
-                recursive=True)
+                create_parents = True)
     if create_log_dir:
     if create_log_dir:
       if name == "nfs3":
       if name == "nfs3":
         Directory(log_dir,
         Directory(log_dir,
@@ -216,7 +216,7 @@ def service(action=None, name=None, user=None, options="", create_pid_dir=False,
       else:
       else:
         Directory(log_dir,
         Directory(log_dir,
                   owner=user,
                   owner=user,
-                  recursive=True)
+                  create_parents = True)
 
 
   if params.security_enabled and name == "datanode":
   if params.security_enabled and name == "datanode":
     ## The directory where pid files are stored in the secure data environment.
     ## The directory where pid files are stored in the secure data environment.

+ 3 - 3
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py

@@ -43,21 +43,21 @@ def hcat():
   from setup_atlas_hive import setup_atlas_hive
   from setup_atlas_hive import setup_atlas_hive
 
 
   Directory(params.hive_conf_dir,
   Directory(params.hive_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner=params.hcat_user,
             owner=params.hcat_user,
             group=params.user_group,
             group=params.user_group,
   )
   )
 
 
 
 
   Directory(params.hcat_conf_dir,
   Directory(params.hcat_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner=params.hcat_user,
             owner=params.hcat_user,
             group=params.user_group,
             group=params.user_group,
   )
   )
 
 
   Directory(params.hcat_pid_dir,
   Directory(params.hcat_pid_dir,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   XmlConfig("hive-site.xml",
   XmlConfig("hive-site.xml",

+ 4 - 4
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py

@@ -240,7 +240,7 @@ def hive(name=None):
 
 
   # On some OS this folder could be not exists, so we will create it before pushing there files
   # On some OS this folder could be not exists, so we will create it before pushing there files
   Directory(params.limits_conf_dir,
   Directory(params.limits_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner='root',
             owner='root',
             group='root'
             group='root'
             )
             )
@@ -308,7 +308,7 @@ def fill_conf_dir(component_conf_dir):
   Directory(component_conf_dir,
   Directory(component_conf_dir,
             owner=params.hive_user,
             owner=params.hive_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   XmlConfig("mapred-site.xml",
   XmlConfig("mapred-site.xml",
@@ -359,7 +359,7 @@ def crt_directory(name):
   import params
   import params
 
 
   Directory(name,
   Directory(name,
-            recursive=True,
+            create_parents = True,
             cd_access='a',
             cd_access='a',
             owner=params.hive_user,
             owner=params.hive_user,
             group=params.user_group,
             group=params.user_group,
@@ -398,7 +398,7 @@ def jdbc_connector():
       Execute(format("yes | {sudo} cp {jars_path_in_archive} {hive_lib}"))
       Execute(format("yes | {sudo} cp {jars_path_in_archive} {hive_lib}"))
 
 
       Directory(params.jdbc_libs_dir,
       Directory(params.jdbc_libs_dir,
-                recursive=True)
+                create_parents = True)
 
 
       Execute(format("yes | {sudo} cp {libs_path_in_archive} {jdbc_libs_dir}"))
       Execute(format("yes | {sudo} cp {libs_path_in_archive} {jdbc_libs_dir}"))
 
 

+ 1 - 1
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py

@@ -207,7 +207,7 @@ class HiveMetastoreDefault(HiveMetastore):
 
 
         Execute(format("yes | {sudo} cp {jars_in_hive_lib} {target_directory}"))
         Execute(format("yes | {sudo} cp {jars_in_hive_lib} {target_directory}"))
 
 
-        Directory(target_native_libs_directory, recursive=True)
+        Directory(target_native_libs_directory, create_parents = True)
 
 
         Execute(format("yes | {sudo} cp {libs_in_hive_lib} {target_native_libs_directory}"))
         Execute(format("yes | {sudo} cp {libs_in_hive_lib} {target_native_libs_directory}"))
 
 

+ 4 - 4
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py

@@ -50,16 +50,16 @@ def webhcat():
             owner=params.webhcat_user,
             owner=params.webhcat_user,
             mode=0755,
             mode=0755,
             group=params.user_group,
             group=params.user_group,
-            recursive=True)
+            create_parents = True)
 
 
   Directory(params.templeton_log_dir,
   Directory(params.templeton_log_dir,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
             mode=0755,
             mode=0755,
             group=params.user_group,
             group=params.user_group,
-            recursive=True)
+            create_parents = True)
 
 
   Directory(params.config_dir,
   Directory(params.config_dir,
-            recursive=True,
+            create_parents = True,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
             group=params.user_group,
             group=params.user_group,
             cd_access="a")
             cd_access="a")
@@ -116,7 +116,7 @@ def webhcat():
   
   
   Directory(params.webhcat_conf_dir,
   Directory(params.webhcat_conf_dir,
        cd_access='a',
        cd_access='a',
-       recursive=True
+       create_parents = True
   )
   )
 
 
   log4j_webhcat_filename = 'webhcat-log4j.properties'
   log4j_webhcat_filename = 'webhcat-log4j.properties'

+ 14 - 34
ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka.py

@@ -82,8 +82,9 @@ def kafka(upgrade_type=None):
               cd_access='a',
               cd_access='a',
               owner=params.kafka_user,
               owner=params.kafka_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True)
-    set_dir_ownership(kafka_data_dirs)
+              create_parents = True,
+              recursive_ownership = True,
+    )
 
 
     PropertiesFile("server.properties",
     PropertiesFile("server.properties",
                       dir=params.conf_dir,
                       dir=params.conf_dir,
@@ -114,7 +115,7 @@ def kafka(upgrade_type=None):
 
 
     # On some OS this folder could be not exists, so we will create it before pushing there files
     # On some OS this folder could be not exists, so we will create it before pushing there files
     Directory(params.limits_conf_dir,
     Directory(params.limits_conf_dir,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group='root'
               group='root'
     )
     )
@@ -150,7 +151,7 @@ def setup_symlink(kafka_managed_dir, kafka_ambari_managed_dir):
 
 
       Directory(kafka_managed_dir,
       Directory(kafka_managed_dir,
                 action="delete",
                 action="delete",
-                recursive=True)
+                create_parents = True)
 
 
     elif os.path.islink(kafka_managed_dir) and os.path.realpath(kafka_managed_dir) != kafka_ambari_managed_dir:
     elif os.path.islink(kafka_managed_dir) and os.path.realpath(kafka_managed_dir) != kafka_ambari_managed_dir:
       Link(kafka_managed_dir,
       Link(kafka_managed_dir,
@@ -169,8 +170,9 @@ def setup_symlink(kafka_managed_dir, kafka_ambari_managed_dir):
               cd_access='a',
               cd_access='a',
               owner=params.kafka_user,
               owner=params.kafka_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True)
-    set_dir_ownership(kafka_managed_dir)
+              create_parents = True,
+              recursive_ownership = True,
+    )
 
 
   if backup_folder_path:
   if backup_folder_path:
     # Restore backed up files to current relevant dirs if needed - will be triggered only when changing to/from default path;
     # Restore backed up files to current relevant dirs if needed - will be triggered only when changing to/from default path;
@@ -182,7 +184,7 @@ def setup_symlink(kafka_managed_dir, kafka_ambari_managed_dir):
     # Clean up backed up folder
     # Clean up backed up folder
     Directory(backup_folder_path,
     Directory(backup_folder_path,
               action="delete",
               action="delete",
-              recursive=True)
+              create_parents = True)
 
 
 
 
 # Uses agent temp dir to store backup files
 # Uses agent temp dir to store backup files
@@ -194,9 +196,9 @@ def backup_dir_contents(dir_path, backup_folder_suffix):
             cd_access='a',
             cd_access='a',
             owner=params.kafka_user,
             owner=params.kafka_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True,
+            recursive_ownership = True,
   )
   )
-  set_dir_ownership(backup_destination_path)
   # Safely copy top-level contents to backup folder
   # Safely copy top-level contents to backup folder
   for file in os.listdir(dir_path):
   for file in os.listdir(dir_path):
     File(os.path.join(backup_destination_path, file),
     File(os.path.join(backup_destination_path, file),
@@ -205,35 +207,13 @@ def backup_dir_contents(dir_path, backup_folder_suffix):
 
 
   return backup_destination_path
   return backup_destination_path
 
 
-
 def ensure_base_directories():
 def ensure_base_directories():
-  """
-  Make basic Kafka directories, and make sure that their ownership is correct
-  """
   import params
   import params
-  base_dirs = [params.kafka_log_dir, params.kafka_pid_dir, params.conf_dir]
-  Directory(base_dirs,
+  Directory([params.kafka_log_dir, params.kafka_pid_dir, params.conf_dir],
             mode=0755,
             mode=0755,
             cd_access='a',
             cd_access='a',
             owner=params.kafka_user,
             owner=params.kafka_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True,
+            recursive_ownership = True,
             )
             )
-  set_dir_ownership(base_dirs)
-
-
-def set_dir_ownership(targets):
-  import params
-  if isinstance(targets, collections.Iterable):
-    directories = targets
-  else:  # If target is a single object, convert it to list
-    directories = [targets]
-  for directory in directories:
-    # If path is empty or a single slash,
-    # may corrupt filesystem permissions
-    if len(directory) > 1:
-      Execute(('chown', '-R', format("{kafka_user}:{user_group}"), directory),
-            sudo=True)
-    else:
-      Logger.warning("Permissions for the folder \"%s\" were not updated due to "
-            "empty path passed: " % directory)

+ 3 - 3
ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py

@@ -102,7 +102,7 @@ class KerberosScript(Script):
 
 
     Directory(params.krb5_conf_dir,
     Directory(params.krb5_conf_dir,
               owner='root',
               owner='root',
-              recursive=True,
+              create_parents = True,
               group='root',
               group='root',
               mode=0755
               mode=0755
     )
     )
@@ -366,7 +366,7 @@ class KerberosScript(Script):
           if (keytab_file_path is not None) and (len(keytab_file_path) > 0):
           if (keytab_file_path is not None) and (len(keytab_file_path) > 0):
             head, tail = os.path.split(keytab_file_path)
             head, tail = os.path.split(keytab_file_path)
             if head:
             if head:
-              Directory(head, recursive=True, mode=0755, owner="root", group="root")
+              Directory(head, create_parents = True, mode=0755, owner="root", group="root")
 
 
             owner = get_property_value(item, 'keytab_file_owner_name')
             owner = get_property_value(item, 'keytab_file_owner_name')
             owner_access = get_property_value(item, 'keytab_file_owner_access')
             owner_access = get_property_value(item, 'keytab_file_owner_access')
@@ -438,7 +438,7 @@ class KerberosScript(Script):
     if params.jce_policy_zip is not None:
     if params.jce_policy_zip is not None:
       jce_curl_target = format("{artifact_dir}/{jce_policy_zip}")
       jce_curl_target = format("{artifact_dir}/{jce_policy_zip}")
       Directory(params.artifact_dir,
       Directory(params.artifact_dir,
-                recursive = True,
+                create_parents = True,
                 )
                 )
       File(jce_curl_target,
       File(jce_curl_target,
            content = DownloadSource(format("{jce_location}/{jce_policy_zip}")),
            content = DownloadSource(format("{jce_location}/{jce_policy_zip}")),

+ 2 - 2
ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_server.py

@@ -27,7 +27,7 @@ class KerberosServer(KerberosScript):
 
 
     Directory(params.kadm5_acl_dir,
     Directory(params.kadm5_acl_dir,
               owner='root',
               owner='root',
-              recursive=True,
+              create_parents = True,
               group='root',
               group='root',
               mode=0700
               mode=0700
     )
     )
@@ -50,7 +50,7 @@ class KerberosServer(KerberosScript):
 
 
     Directory(params.kdc_conf_dir,
     Directory(params.kdc_conf_dir,
               owner='root',
               owner='root',
-              recursive=True,
+              create_parents = True,
               group='root',
               group='root',
               mode=0700
               mode=0700
     )
     )

+ 12 - 28
ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py

@@ -88,16 +88,14 @@ def knox():
 @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
 @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
 def knox():
 def knox():
     import params
     import params
-
-    directories = [params.knox_data_dir, params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir, os.path.join(params.knox_conf_dir, "topologies")]
-    for directory in directories:
-      Directory(directory,
-                owner = params.knox_user,
-                group = params.knox_group,
-                recursive = True,
-                cd_access = "a",
-                mode = 0755,
-      )
+    Directory([params.knox_data_dir, params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir, os.path.join(params.knox_conf_dir, "topologies")],
+              owner = params.knox_user,
+              group = params.knox_group,
+              create_parents = True,
+              cd_access = "a",
+              mode = 0755,
+              recursive_ownership = True,
+    )
 
 
     XmlConfig("gateway-site.xml",
     XmlConfig("gateway-site.xml",
               conf_dir=params.knox_conf_dir,
               conf_dir=params.knox_conf_dir,
@@ -139,12 +137,6 @@ def knox():
                       template_tag = None
                       template_tag = None
       )
       )
 
 
-    dirs_to_chown = tuple(directories)
-    cmd = ('chown','-R',format('{knox_user}:{knox_group}')) + dirs_to_chown
-    Execute(cmd,
-            sudo = True,
-    )
-
     cmd = format('{knox_client_bin} create-master --master {knox_master_secret!p}')
     cmd = format('{knox_client_bin} create-master --master {knox_master_secret!p}')
     master_secret_exist = as_user(format('test -f {knox_master_secret_path}'), params.knox_user)
     master_secret_exist = as_user(format('test -f {knox_master_secret_path}'), params.knox_user)
 
 
@@ -181,20 +173,12 @@ def update_knox_logfolder_permissions():
    cluster in non-working state
    cluster in non-working state
   """
   """
   import params
   import params
-  knox_dirs = [params.knox_logs_dir]
-
+  
   Directory(params.knox_logs_dir,
   Directory(params.knox_logs_dir,
             owner = params.knox_user,
             owner = params.knox_user,
             group = params.knox_group,
             group = params.knox_group,
-            recursive = True,
+            create_parents = True,
             cd_access = "a",
             cd_access = "a",
             mode = 0755,
             mode = 0755,
-            )
-
-  for d in knox_dirs:
-    if len(d) > 1:  # If path is empty or a single slash, may corrupt filesystem permissions
-      Execute(('chown', '-R', format("{knox_user}:{knox_group}"), d),
-              sudo=True
-              )
-    else:
-      Logger.warning("Permissions for the Knox folder \"%s\" was not updated due to empty path passed" % d)
+            recursive_ownership = True,
+  )

+ 1 - 1
ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout.py

@@ -26,7 +26,7 @@ def mahout():
   import params
   import params
 
 
   Directory( params.mahout_conf_dir,
   Directory( params.mahout_conf_dir,
-             recursive = True,
+             create_parents = True,
              owner = params.mahout_user,
              owner = params.mahout_user,
              group = params.user_group
              group = params.user_group
   )
   )

+ 17 - 9
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py

@@ -57,7 +57,7 @@ def oozie(is_server=False):
 
 
   Directory(params.oozie_tmp_dir,
   Directory(params.oozie_tmp_dir,
             owner=params.oozie_user,
             owner=params.oozie_user,
-            recursive = True,
+            create_parents = True,
   )
   )
 
 
   if is_server:
   if is_server:
@@ -96,7 +96,7 @@ def oozie(is_server=False):
     )
     )
     params.HdfsResource(None, action="execute")
     params.HdfsResource(None, action="execute")
   Directory(params.conf_dir,
   Directory(params.conf_dir,
-             recursive = True,
+             create_parents = True,
              owner = params.oozie_user,
              owner = params.oozie_user,
              group = params.user_group
              group = params.user_group
   )
   )
@@ -193,12 +193,12 @@ def oozie_server_specific():
     owner = params.oozie_user,
     owner = params.oozie_user,
     group = params.user_group,
     group = params.user_group,
     mode = 0755,
     mode = 0755,
-    recursive = True,
+    create_parents = True,
     cd_access="a",
     cd_access="a",
   )
   )
   
   
   Directory(params.oozie_libext_dir,
   Directory(params.oozie_libext_dir,
-            recursive=True,
+            create_parents = True,
   )
   )
   
   
   hashcode_file = format("{oozie_home}/.hashcode")
   hashcode_file = format("{oozie_home}/.hashcode")
@@ -215,12 +215,18 @@ def oozie_server_specific():
   configure_cmds = []
   configure_cmds = []
   configure_cmds.append(('cp', params.ext_js_path, params.oozie_libext_dir))
   configure_cmds.append(('cp', params.ext_js_path, params.oozie_libext_dir))
   configure_cmds.append(('chown', format('{oozie_user}:{user_group}'), format('{oozie_libext_dir}/{ext_js_file}')))
   configure_cmds.append(('chown', format('{oozie_user}:{user_group}'), format('{oozie_libext_dir}/{ext_js_file}')))
-  configure_cmds.append(('chown', '-RL', format('{oozie_user}:{user_group}'), params.oozie_webapps_conf_dir))
   
   
   Execute( configure_cmds,
   Execute( configure_cmds,
     not_if  = no_op_test,
     not_if  = no_op_test,
     sudo = True,
     sudo = True,
   )
   )
+  
+  Directory(params.oozie_webapps_conf_dir,
+            user = params.oozie_user,
+            group = params.user_group,
+            recursive_ownership = True,
+            recursion_follow_links = True,
+  )
 
 
   # download the database JAR
   # download the database JAR
   download_database_library_if_needed()
   download_database_library_if_needed()
@@ -259,7 +265,7 @@ def oozie_server_specific():
   if params.hdp_stack_version != "" and compare_versions(params.hdp_stack_version, '2.2') >= 0:
   if params.hdp_stack_version != "" and compare_versions(params.hdp_stack_version, '2.2') >= 0:
     # Create hive-site and tez-site configs for oozie
     # Create hive-site and tez-site configs for oozie
     Directory(params.hive_conf_dir,
     Directory(params.hive_conf_dir,
-        recursive = True,
+        create_parents = True,
         owner = params.oozie_user,
         owner = params.oozie_user,
         group = params.user_group
         group = params.user_group
     )
     )
@@ -281,8 +287,10 @@ def oozie_server_specific():
         group = params.user_group,
         group = params.user_group,
         mode = 0664
         mode = 0664
     )
     )
-  Execute(('chown', '-R', format("{oozie_user}:{user_group}"), params.oozie_server_dir), 
-          sudo=True
+  Directory(params.oozie_server_dir,
+    owner = params.oozie_user,
+    group = params.user_group,
+    recursive_ownership = True,  
   )
   )
 
 
 def download_database_library_if_needed(target_directory = None):
 def download_database_library_if_needed(target_directory = None):
@@ -323,7 +331,7 @@ def download_database_library_if_needed(target_directory = None):
       Execute(format("yes | {sudo} cp {jars_path_in_archive} {oozie_libext_dir}"))
       Execute(format("yes | {sudo} cp {jars_path_in_archive} {oozie_libext_dir}"))
 
 
       Directory(params.jdbc_libs_dir,
       Directory(params.jdbc_libs_dir,
-                recursive=True)
+                create_parents = True)
 
 
       Execute(format("yes | {sudo} cp {libs_path_in_archive} {jdbc_libs_dir}"))
       Execute(format("yes | {sudo} cp {libs_path_in_archive} {jdbc_libs_dir}"))
 
 

+ 1 - 1
ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig.py

@@ -28,7 +28,7 @@ def pig():
   import params
   import params
 
 
   Directory( params.pig_conf_dir,
   Directory( params.pig_conf_dir,
-    recursive = True,
+    create_parents = True,
     owner = params.hdfs_user,
     owner = params.hdfs_user,
     group = params.user_group
     group = params.user_group
   )
   )

+ 1 - 1
ambari-server/src/main/resources/common-services/PXF/3.0.0/package/scripts/pxf.py

@@ -121,7 +121,7 @@ class Pxf(Script):
     Directory(params.pxf_instance_dir,
     Directory(params.pxf_instance_dir,
               owner=params.pxf_user,
               owner=params.pxf_user,
               group=params.pxf_group,
               group=params.pxf_group,
-              recursive=True)
+              create_parents = True)
 
 
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":

+ 5 - 1
ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_service.py

@@ -34,7 +34,11 @@ def ranger_service(name, action=None):
 
 
 
 
     if params.stack_is_hdp23_or_further:
     if params.stack_is_hdp23_or_further:
-      Execute(('chown','-R', format('{unix_user}:{unix_group}'), format('{usersync_log_dir}/')), sudo=True)
+      Directory(format('{usersync_log_dir}/'),
+                user = params.unix_user,
+                group = params.unix_group,
+                recursive_ownership = True,
+      )
       Execute(params.usersync_start,
       Execute(params.usersync_start,
               environment=env_dict,
               environment=env_dict,
               not_if=no_op_test,
               not_if=no_op_test,

+ 8 - 4
ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py

@@ -52,7 +52,7 @@ def setup_ranger_admin(upgrade_type=None):
   Directory(ranger_conf,
   Directory(ranger_conf,
     owner = params.unix_user,
     owner = params.unix_user,
     group = params.unix_group,
     group = params.unix_group,
-    recursive = True
+    create_parents = True
   )
   )
 
 
   if upgrade_type is not None:
   if upgrade_type is not None:
@@ -95,7 +95,11 @@ def setup_ranger_admin(upgrade_type=None):
 
 
     Execute(('cp', '-f', src_file, dst_file), sudo=True)
     Execute(('cp', '-f', src_file, dst_file), sudo=True)
 
 
-  Execute(('chown','-R',format('{unix_user}:{unix_group}'), format('{ranger_home}/')), sudo=True)
+  Directory(format('{ranger_home}/'),
+            user = params.unix_user,
+            group = params.unix_group,
+            recursive_ownership = True,
+  )
 
 
   Directory(params.admin_log_dir,
   Directory(params.admin_log_dir,
     owner = params.unix_user,
     owner = params.unix_user,
@@ -140,7 +144,7 @@ def setup_ranger_db(upgrade_type=None):
 
 
   Directory(params.java_share_dir,
   Directory(params.java_share_dir,
     mode=0755,
     mode=0755,
-    recursive=True,
+    create_parents = True,
     cd_access="a"
     cd_access="a"
   )
   )
 
 
@@ -164,7 +168,7 @@ def setup_ranger_db(upgrade_type=None):
 
 
     Directory(params.jdbc_libs_dir,
     Directory(params.jdbc_libs_dir,
       cd_access="a",
       cd_access="a",
-      recursive=True)
+      create_parents = True)
 
 
     Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False),
     Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False),
             path=["/bin", "/usr/bin/"])
             path=["/bin", "/usr/bin/"])

+ 9 - 5
ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py

@@ -61,7 +61,7 @@ def setup_kms_db():
 
 
     Directory(params.java_share_dir,
     Directory(params.java_share_dir,
       mode=0755,
       mode=0755,
-      recursive=True,
+      create_parents = True,
       cd_access="a"
       cd_access="a"
     )
     )
     
     
@@ -85,7 +85,7 @@ def setup_kms_db():
 
 
       Directory(params.jdbc_libs_dir,
       Directory(params.jdbc_libs_dir,
         cd_access="a",
         cd_access="a",
-        recursive=True)
+        create_parents = True)
 
 
       Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False),
       Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False),
         path=["/bin", "/usr/bin/"])
         path=["/bin", "/usr/bin/"])
@@ -171,7 +171,7 @@ def kms():
     Directory(params.kms_conf_dir,
     Directory(params.kms_conf_dir,
       owner = params.kms_user,
       owner = params.kms_user,
       group = params.kms_group,
       group = params.kms_group,
-      recursive = True
+      create_parents = True
     )
     )
 
 
     if params.xa_audit_db_is_enabled:
     if params.xa_audit_db_is_enabled:
@@ -201,7 +201,11 @@ def kms():
       mode = 0755
       mode = 0755
     )
     )
 
 
-    Execute(('chown','-R',format('{kms_user}:{kms_group}'), format('{kms_home}/')), sudo=True)
+    Directory(format('{kms_home}/'),
+              user = params.kms_user,
+              group = params.kms_group,
+              recursive_ownership = True,
+    )
 
 
     Directory(params.kms_log_dir,
     Directory(params.kms_log_dir,
       owner = params.kms_user,
       owner = params.kms_user,
@@ -301,7 +305,7 @@ def enable_kms_plugin():
       owner = params.kms_user,
       owner = params.kms_user,
       group = params.kms_group,
       group = params.kms_group,
       mode=0775,
       mode=0775,
-      recursive = True
+      create_parents = True
     )
     )
     
     
     File(os.path.join('/etc', 'ranger', params.repo_name, 'policycache',format('kms_{repo_name}.json')),
     File(os.path.join('/etc', 'ranger', params.repo_name, 'policycache',format('kms_{repo_name}.json')),

+ 2 - 2
ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider.py

@@ -47,7 +47,7 @@ def slider():
   import params
   import params
 
 
   Directory(params.slider_conf_dir,
   Directory(params.slider_conf_dir,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   slider_client_config = params.config['configurations']['slider-client'] if 'configurations' in params.config and 'slider-client' in params.config['configurations'] else {}
   slider_client_config = params.config['configurations']['slider-client'] if 'configurations' in params.config and 'slider-client' in params.config['configurations'] else {}
@@ -63,7 +63,7 @@ def slider():
   )
   )
 
 
   Directory(params.storm_slider_conf_dir,
   Directory(params.storm_slider_conf_dir,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   File(format("{storm_slider_conf_dir}/storm-slider-env.sh"),
   File(format("{storm_slider_conf_dir}/storm-slider-env.sh"),

+ 1 - 1
ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/setup_spark.py

@@ -35,7 +35,7 @@ def setup_spark(env, type, action = None):
             owner=params.spark_user,
             owner=params.spark_user,
             group=params.user_group,
             group=params.user_group,
             mode=0775,
             mode=0775,
-            recursive=True
+            create_parents = True
   )
   )
   if type == 'server' and action == 'config':
   if type == 'server' and action == 'config':
     params.HdfsResource(params.spark_hdfs_user_dir,
     params.HdfsResource(params.spark_hdfs_user_dir,

+ 1 - 1
ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop.py

@@ -44,7 +44,7 @@ def sqoop(type=None):
   Directory(params.sqoop_conf_dir,
   Directory(params.sqoop_conf_dir,
             owner = params.sqoop_user,
             owner = params.sqoop_user,
             group = params.user_group,
             group = params.user_group,
-            recursive = True
+            create_parents = True
   )
   )
   File(format("{sqoop_conf_dir}/sqoop-env.sh"),
   File(format("{sqoop_conf_dir}/sqoop-env.sh"),
     owner=params.sqoop_user,
     owner=params.sqoop_user,

+ 4 - 4
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm.py

@@ -56,20 +56,20 @@ def storm(name=None):
             owner=params.storm_user,
             owner=params.storm_user,
             group=params.user_group,
             group=params.user_group,
             mode=0777,
             mode=0777,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   Directory([params.pid_dir, params.local_dir],
   Directory([params.pid_dir, params.local_dir],
             owner=params.storm_user,
             owner=params.storm_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True,
+            create_parents = True,
             cd_access="a",
             cd_access="a",
             mode=0755,
             mode=0755,
   )
   )
 
 
   Directory(params.conf_dir,
   Directory(params.conf_dir,
             group=params.user_group,
             group=params.user_group,
-            recursive=True,
+            create_parents = True,
             cd_access="a",
             cd_access="a",
   )
   )
 
 
@@ -115,7 +115,7 @@ def storm(name=None):
               owner=params.storm_user,
               owner=params.storm_user,
               group=params.user_group,
               group=params.user_group,
               mode=0755,
               mode=0755,
-              recursive=True
+              create_parents = True
     )
     )
     
     
     File(format("{log4j_dir}/cluster.xml"),
     File(format("{log4j_dir}/cluster.xml"),

+ 2 - 2
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/storm_upgrade.py

@@ -160,12 +160,12 @@ class StormUpgrade(Script):
     # Delete from local directory
     # Delete from local directory
     if os.path.isdir(storm_local_directory):
     if os.path.isdir(storm_local_directory):
       Logger.info("Deleting storm local directory, {0}".format(storm_local_directory))
       Logger.info("Deleting storm local directory, {0}".format(storm_local_directory))
-      Directory(storm_local_directory, action="delete", recursive=True)
+      Directory(storm_local_directory, action="delete", create_parents = True)
 
 
     # Recreate storm local directory
     # Recreate storm local directory
     Logger.info("Recreating storm local directory, {0}".format(storm_local_directory))
     Logger.info("Recreating storm local directory, {0}".format(storm_local_directory))
     Directory(storm_local_directory, mode=0755, owner=params.storm_user,
     Directory(storm_local_directory, mode=0755, owner=params.storm_user,
-      group=params.user_group, recursive=True)
+      group=params.user_group, create_parents = True)
 
 
     # The file doesn't exist, so create it
     # The file doesn't exist, so create it
     Logger.info("Saving marker file to {0} with contents: {1}".format(marker_file, str(json_map)))
     Logger.info("Saving marker file to {0} with contents: {1}".format(marker_file, str(json_map)))

+ 1 - 1
ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez.py

@@ -32,7 +32,7 @@ def tez():
   Directory(params.config_dir,
   Directory(params.config_dir,
             owner = params.tez_user,
             owner = params.tez_user,
             group = params.user_group,
             group = params.user_group,
-            recursive = True)
+            create_parents = True)
 
 
   XmlConfig( "tez-site.xml",
   XmlConfig( "tez-site.xml",
              conf_dir = params.config_dir,
              conf_dir = params.config_dir,

+ 21 - 18
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn.py

@@ -101,12 +101,10 @@ def yarn(name = None):
     Directory(params.jhs_leveldb_state_store_dir,
     Directory(params.jhs_leveldb_state_store_dir,
               owner=params.mapred_user,
               owner=params.mapred_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True,
+              create_parents = True,
               cd_access="a",
               cd_access="a",
+              recursive_ownership = True,
               )
               )
-    Execute(("chown", "-R", format("{mapred_user}:{user_group}"), params.jhs_leveldb_state_store_dir),
-            sudo = True,
-    )
 
 
   if name == "nodemanager":
   if name == "nodemanager":
 
 
@@ -134,23 +132,28 @@ def yarn(name = None):
 
 
 
 
     if not params.security_enabled or params.toggle_nm_security:
     if not params.security_enabled or params.toggle_nm_security:
-      Directory(params.nm_local_dirs_list + params.nm_log_dirs_list,
+      Directory(params.nm_log_dirs_list,
                 owner=params.yarn_user,
                 owner=params.yarn_user,
                 group=params.user_group,
                 group=params.user_group,
-                recursive=True,
+                create_parents = True,
                 cd_access="a",
                 cd_access="a",
                 ignore_failures=True,
                 ignore_failures=True,
-                mode=0775
+                mode=0775)
+      Directory(params.nm_local_dirs_list,
+                owner=params.yarn_user,
+                group=params.user_group,
+                create_parents = True,
+                cd_access="a",
+                ignore_failures=True,
+                mode=0775,
+                recursive_mode_flags = {'f': 'a+rw', 'd': 'a+rwx'},
                 )
                 )
-      Execute(("chmod", "-R", "755") + tuple(params.nm_local_dirs_list),
-                sudo=True,
-      )
 
 
   if params.yarn_nodemanager_recovery_dir:
   if params.yarn_nodemanager_recovery_dir:
     Directory(InlineTemplate(params.yarn_nodemanager_recovery_dir).get_content(),
     Directory(InlineTemplate(params.yarn_nodemanager_recovery_dir).get_content(),
               owner=params.yarn_user,
               owner=params.yarn_user,
               group=params.user_group,
               group=params.user_group,
-              recursive=True,
+              create_parents = True,
               mode=0755,
               mode=0755,
               cd_access = 'a',
               cd_access = 'a',
     )
     )
@@ -158,19 +161,19 @@ def yarn(name = None):
   Directory([params.yarn_pid_dir_prefix, 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,
             owner=params.yarn_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True,
+            create_parents = True,
             cd_access = 'a',
             cd_access = 'a',
   )
   )
 
 
   Directory([params.mapred_pid_dir_prefix, params.mapred_pid_dir, params.mapred_log_dir_prefix, 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,
             owner=params.mapred_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True,
+            create_parents = True,
             cd_access = 'a',
             cd_access = 'a',
   )
   )
   Directory([params.yarn_log_dir_prefix],
   Directory([params.yarn_log_dir_prefix],
             owner=params.yarn_user,
             owner=params.yarn_user,
-            recursive=True,
+            create_parents = True,
             ignore_failures=True,
             ignore_failures=True,
             cd_access = 'a',
             cd_access = 'a',
   )
   )
@@ -245,7 +248,7 @@ def yarn(name = None):
     Directory(params.ats_leveldb_dir,
     Directory(params.ats_leveldb_dir,
        owner=params.yarn_user,
        owner=params.yarn_user,
        group=params.user_group,
        group=params.user_group,
-       recursive=True,
+       create_parents = True,
        cd_access="a",
        cd_access="a",
     )
     )
 
 
@@ -254,7 +257,7 @@ def yarn(name = None):
       Directory(params.ats_leveldb_state_store_dir,
       Directory(params.ats_leveldb_state_store_dir,
        owner=params.yarn_user,
        owner=params.yarn_user,
        group=params.user_group,
        group=params.user_group,
-       recursive=True,
+       create_parents = True,
        cd_access="a",
        cd_access="a",
       )
       )
     # app timeline server 1.5 directories
     # app timeline server 1.5 directories
@@ -330,7 +333,7 @@ def yarn(name = None):
 
 
   Directory(params.cgroups_dir,
   Directory(params.cgroups_dir,
             group=params.user_group,
             group=params.user_group,
-            recursive=True,
+            create_parents = True,
             mode=0755,
             mode=0755,
             cd_access="a")
             cd_access="a")
 
 
@@ -393,7 +396,7 @@ def yarn(name = None):
     )
     )
 
 
     Directory(params.hadoop_conf_secure_dir,
     Directory(params.hadoop_conf_secure_dir,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group=params.user_group,
               group=params.user_group,
               cd_access='a',
               cd_access='a',

+ 5 - 5
ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py

@@ -42,7 +42,7 @@ def zookeeper(type = None, upgrade_type=None):
 
 
   Directory(params.config_dir,
   Directory(params.config_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group
             group=params.user_group
   )
   )
 
 
@@ -58,21 +58,21 @@ def zookeeper(type = None, upgrade_type=None):
 
 
   Directory(params.zk_pid_dir,
   Directory(params.zk_pid_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group,
             group=params.user_group,
             mode=0755,
             mode=0755,
   )
   )
 
 
   Directory(params.zk_log_dir,
   Directory(params.zk_log_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group,
             group=params.user_group,
             mode=0755,
             mode=0755,
   )
   )
 
 
   Directory(params.zk_data_dir,
   Directory(params.zk_data_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             cd_access="a",
             cd_access="a",
             group=params.user_group,
             group=params.user_group,
             mode=0755,
             mode=0755,
@@ -127,7 +127,7 @@ def zookeeper(type = None, upgrade_type=None):
   Directory(params.zk_data_dir,
   Directory(params.zk_data_dir,
             owner=params.zk_user,
             owner=params.zk_user,
             mode="(OI)(CI)F",
             mode="(OI)(CI)F",
-            recursive=True
+            create_parents = True
   )
   )
   if (params.log4j_props != None):
   if (params.log4j_props != None):
     File(os.path.join(params.config_dir, "log4j.properties"),
     File(os.path.join(params.config_dir, "log4j.properties"),

+ 1 - 1
ambari-server/src/main/resources/custom_actions/scripts/check_host.py

@@ -356,7 +356,7 @@ class CheckHost(Script):
           Execute(chmod_cmd, not_if = format("test -e {java_exec}"), sudo = True)
           Execute(chmod_cmd, not_if = format("test -e {java_exec}"), sudo = True)
           Execute(install_cmd, not_if = format("test -e {java_exec}"))
           Execute(install_cmd, not_if = format("test -e {java_exec}"))
           File(format("{java_home}/bin/java"), mode=0755, cd_access="a")
           File(format("{java_home}/bin/java"), mode=0755, cd_access="a")
-          Execute(("chown","-R", getpass.getuser(), java_home), sudo = True)
+          Directory(java_home, user=getpass.getuser(), recursive_ownership=True)
         except Exception, e:
         except Exception, e:
           message = "Error installing java.\n" + str(e)
           message = "Error installing java.\n" + str(e)
           print message
           print message

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/hooks/before-ANY/scripts/shared_initialization.py

@@ -100,7 +100,7 @@ def setup_hadoop_env():
     else:
     else:
       tc_owner = params.hdfs_user
       tc_owner = params.hdfs_user
     Directory(params.hadoop_conf_empty_dir,
     Directory(params.hadoop_conf_empty_dir,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group='root'
               group='root'
     )
     )

+ 3 - 3
ambari-server/src/main/resources/stacks/BIGTOP/0.8/hooks/before-START/scripts/shared_initialization.py

@@ -36,19 +36,19 @@ def setup_hadoop():
   #directories
   #directories
   if params.has_namenode:
   if params.has_namenode:
     Directory(params.hdfs_log_dir_prefix,
     Directory(params.hdfs_log_dir_prefix,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group=params.user_group,
               group=params.user_group,
               mode=0775
               mode=0775
     )
     )
     Directory(params.hadoop_pid_dir_prefix,
     Directory(params.hadoop_pid_dir_prefix,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group='root'
               group='root'
     )
     )
   #this doesn't needed with stack 1
   #this doesn't needed with stack 1
     Directory(params.hadoop_tmp_dir,
     Directory(params.hadoop_tmp_dir,
-              recursive=True,
+              create_parents = True,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               )
               )
   #files
   #files

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/FLUME/package/scripts/flume.py

@@ -30,7 +30,7 @@ def flume(action = None):
     for n in find_expected_agent_names():
     for n in find_expected_agent_names():
       os.unlink(os.path.join(params.flume_conf_dir, n, 'ambari-meta.json'))
       os.unlink(os.path.join(params.flume_conf_dir, n, 'ambari-meta.json'))
 
 
-    Directory(params.flume_conf_dir, recursive=True)
+    Directory(params.flume_conf_dir, create_parents = True)
     Directory(params.flume_log_dir, owner=params.flume_user)
     Directory(params.flume_log_dir, owner=params.flume_user)
 
 
     File(format("{flume_conf_dir}/flume-env.sh"),
     File(format("{flume_conf_dir}/flume-env.sh"),

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/package/scripts/ganglia.py

@@ -35,7 +35,7 @@ def config():
   Directory(shell_cmds_dir,
   Directory(shell_cmds_dir,
             owner="root",
             owner="root",
             group="root",
             group="root",
-            recursive=True
+            create_parents = True
   )
   )
   init_file("gmetad")
   init_file("gmetad")
   init_file("gmond")
   init_file("gmond")

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/package/scripts/ganglia_monitor.py

@@ -71,7 +71,7 @@ class GangliaMonitor(Script):
     Directory(params.ganglia_conf_dir,
     Directory(params.ganglia_conf_dir,
               owner="root",
               owner="root",
               group=params.user_group,
               group=params.user_group,
-              recursive=True
+              create_parents = True
     )
     )
 
 
     ganglia.config()
     ganglia.config()

+ 3 - 3
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/package/scripts/ganglia_server.py

@@ -82,7 +82,7 @@ def change_permission():
 
 
   Directory(params.dwoo_path,
   Directory(params.dwoo_path,
             mode=0755,
             mode=0755,
-            recursive=True
+            create_parents = True
   )
   )
   Execute(format("chown -R {web_user} {dwoo_path}"))
   Execute(format("chown -R {web_user} {dwoo_path}"))
 
 
@@ -91,7 +91,7 @@ def server_files():
 
 
   rrd_py_path = params.rrd_py_path
   rrd_py_path = params.rrd_py_path
   Directory(rrd_py_path,
   Directory(rrd_py_path,
-            recursive=True
+            create_parents = True
   )
   )
   rrd_py_file_path = path.join(rrd_py_path, "rrd.py")
   rrd_py_file_path = path.join(rrd_py_path, "rrd.py")
   TemplateConfig(rrd_py_file_path,
   TemplateConfig(rrd_py_file_path,
@@ -105,7 +105,7 @@ def server_files():
             owner=rrd_file_owner,
             owner=rrd_file_owner,
             group=rrd_file_owner,
             group=rrd_file_owner,
             mode=0755,
             mode=0755,
-            recursive=True
+            create_parents = True
   )
   )
   
   
   if System.get_instance().os_family in ["ubuntu","suse"]:
   if System.get_instance().os_family in ["ubuntu","suse"]:

+ 5 - 5
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HBASE/package/scripts/hbase.py

@@ -29,19 +29,19 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
   Directory( params.hbase_conf_dir,
   Directory( params.hbase_conf_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
       group = params.user_group,
       group = params.user_group,
-      recursive = True
+      create_parents = True
   )
   )
 
 
   Directory (params.tmp_dir,
   Directory (params.tmp_dir,
              owner = params.hbase_user,
              owner = params.hbase_user,
-             recursive = True
+             create_parents = True
   )
   )
 
 
   Directory (os.path.join(params.local_dir, "jars"),
   Directory (os.path.join(params.local_dir, "jars"),
              owner = params.hbase_user,
              owner = params.hbase_user,
              group = params.user_group,
              group = params.user_group,
              mode=0775,
              mode=0775,
-             recursive = True
+             create_parents = True
   )
   )
 
 
   XmlConfig( "hbase-site.xml",
   XmlConfig( "hbase-site.xml",
@@ -100,12 +100,12 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
   if name != "client":
   if name != "client":
     Directory( params.pid_dir,
     Directory( params.pid_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
-      recursive = True
+      create_parents = True
     )
     )
   
   
     Directory (params.log_dir,
     Directory (params.log_dir,
       owner = params.hbase_user,
       owner = params.hbase_user,
-      recursive = True
+      create_parents = True
     )
     )
 
 
   if (params.log4j_props != None):
   if (params.log4j_props != None):

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs.py

@@ -29,7 +29,7 @@ def hdfs(name=None):
 
 
   # On some OS this folder could be not exists, so we will create it before pushing there files
   # On some OS this folder could be not exists, so we will create it before pushing there files
   Directory(params.limits_conf_dir,
   Directory(params.limits_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner='root',
             owner='root',
             group='root'
             group='root'
   )
   )

+ 2 - 2
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs_datanode.py

@@ -28,7 +28,7 @@ def create_dirs(data_dir, params):
   :param params: parameters
   :param params: parameters
   """
   """
   Directory(data_dir,
   Directory(data_dir,
-            recursive=True,
+            create_parents = True,
             mode=0755,
             mode=0755,
             owner=params.hdfs_user,
             owner=params.hdfs_user,
             group=params.user_group,
             group=params.user_group,
@@ -40,7 +40,7 @@ def datanode(action=None):
   import params
   import params
   if action == "configure":
   if action == "configure":
     Directory(params.dfs_domain_socket_dir,
     Directory(params.dfs_domain_socket_dir,
-              recursive=True,
+              create_parents = True,
               mode=0751,
               mode=0751,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               group=params.user_group)
               group=params.user_group)

+ 2 - 2
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs_namenode.py

@@ -77,7 +77,7 @@ def create_name_dirs(directories):
             mode=0755,
             mode=0755,
             owner=params.hdfs_user,
             owner=params.hdfs_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
 
 
@@ -125,7 +125,7 @@ def format_namenode(force=None):
       )
       )
     
     
       Directory(mark_dir,
       Directory(mark_dir,
-        recursive = True
+        create_parents = True
       )
       )
 
 
 
 

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/hdfs_snamenode.py

@@ -27,7 +27,7 @@ def snamenode(action=None, format=False):
 
 
   if action == "configure":
   if action == "configure":
     Directory(params.fs_checkpoint_dir,
     Directory(params.fs_checkpoint_dir,
-              recursive=True,
+              create_parents = True,
               mode=0755,
               mode=0755,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               group=params.user_group)
               group=params.user_group)

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/journalnode.py

@@ -54,7 +54,7 @@ class JournalNode(Script):
     import params
     import params
 
 
     Directory(params.jn_edits_dir,
     Directory(params.jn_edits_dir,
-              recursive=True,
+              create_parents = True,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               group=params.user_group
               group=params.user_group
     )
     )

+ 2 - 2
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/utils.py

@@ -36,11 +36,11 @@ def service(action=None, name=None, user=None, create_pid_dir=False,
   if create_pid_dir:
   if create_pid_dir:
     Directory(pid_dir,
     Directory(pid_dir,
               owner=user,
               owner=user,
-              recursive=True)
+              create_parents = True)
   if create_log_dir:
   if create_log_dir:
     Directory(log_dir,
     Directory(log_dir,
               owner=user,
               owner=user,
-              recursive=True)
+              create_parents = True)
 
 
   hadoop_env_exports = {
   hadoop_env_exports = {
     'HADOOP_LIBEXEC_DIR': params.hadoop_libexec_dir
     'HADOOP_LIBEXEC_DIR': params.hadoop_libexec_dir

+ 3 - 3
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/hcat.py

@@ -26,21 +26,21 @@ def hcat():
   import params
   import params
 
 
   Directory(params.hive_conf_dir,
   Directory(params.hive_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner=params.hcat_user,
             owner=params.hcat_user,
             group=params.user_group,
             group=params.user_group,
   )
   )
 
 
 
 
   Directory(params.hcat_conf_dir,
   Directory(params.hcat_conf_dir,
-            recursive=True,
+            create_parents = True,
             owner=params.hcat_user,
             owner=params.hcat_user,
             group=params.user_group,
             group=params.user_group,
   )
   )
 
 
   Directory(params.hcat_pid_dir,
   Directory(params.hcat_pid_dir,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   XmlConfig("hive-site.xml",
   XmlConfig("hive-site.xml",

+ 2 - 2
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/hive.py

@@ -113,7 +113,7 @@ def fill_conf_dir(component_conf_dir):
   Directory(component_conf_dir,
   Directory(component_conf_dir,
             owner=params.hive_user,
             owner=params.hive_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   XmlConfig("mapred-site.xml",
   XmlConfig("mapred-site.xml",
@@ -165,7 +165,7 @@ def crt_directory(name):
   import params
   import params
 
 
   Directory(name,
   Directory(name,
-            recursive=True,
+            create_parents = True,
             owner=params.hive_user,
             owner=params.hive_user,
             group=params.user_group,
             group=params.user_group,
             mode=0755)
             mode=0755)

+ 3 - 3
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/webhcat.py

@@ -49,16 +49,16 @@ def webhcat():
             owner=params.webhcat_user,
             owner=params.webhcat_user,
             mode=0755,
             mode=0755,
             group=params.user_group,
             group=params.user_group,
-            recursive=True)
+            create_parents = True)
 
 
   Directory(params.templeton_log_dir,
   Directory(params.templeton_log_dir,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
             mode=0755,
             mode=0755,
             group=params.user_group,
             group=params.user_group,
-            recursive=True)
+            create_parents = True)
 
 
   Directory(params.config_dir,
   Directory(params.config_dir,
-            recursive=True,
+            create_parents = True,
             owner=params.webhcat_user,
             owner=params.webhcat_user,
             group=params.user_group)
             group=params.user_group)
 
 

+ 2 - 2
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/OOZIE/package/scripts/oozie.py

@@ -32,7 +32,7 @@ def oozie(is_server=False # TODO: see if see can remove this
                          mode=params.oozie_hdfs_user_mode
                          mode=params.oozie_hdfs_user_mode
     )
     )
   Directory( params.conf_dir,
   Directory( params.conf_dir,
-             recursive = True,
+             create_parents = True,
              owner = params.oozie_user,
              owner = params.oozie_user,
              group = params.user_group
              group = params.user_group
   )
   )
@@ -137,7 +137,7 @@ def oozie_server_specific(
   Directory( oozie_server_directorties,
   Directory( oozie_server_directorties,
     owner = params.oozie_user,
     owner = params.oozie_user,
     mode = 0755,
     mode = 0755,
-    recursive = True
+    create_parents = True
   )
   )
 
 
   cmd1 = "sh"
   cmd1 = "sh"

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/PIG/package/scripts/pig.py

@@ -26,7 +26,7 @@ def pig():
   import params
   import params
 
 
   Directory( params.pig_conf_dir,
   Directory( params.pig_conf_dir,
-    recursive = True,
+    create_parents = True,
     owner = params.hdfs_user,
     owner = params.hdfs_user,
     group = params.user_group
     group = params.user_group
   )
   )

+ 1 - 1
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/package/scripts/mapred_service_check.py

@@ -36,7 +36,7 @@ class MapReduce2ServiceCheck(Script):
     run_wordcount_job = format("jar {jar_path} wordcount {input_file} {output_file}")
     run_wordcount_job = format("jar {jar_path} wordcount {input_file} {output_file}")
 
 
     log_dir = format("{mapred_log_dir_prefix}/{smokeuser}")
     log_dir = format("{mapred_log_dir_prefix}/{smokeuser}")
-    Directory(log_dir, owner=params.smokeuser, recursive=True)
+    Directory(log_dir, owner=params.smokeuser, create_parents = True)
 
 
     if params.security_enabled:
     if params.security_enabled:
       kinit_cmd = format("{kinit_path_local} -kt {smoke_user_keytab} {smokeuser};")
       kinit_cmd = format("{kinit_path_local} -kt {smoke_user_keytab} {smokeuser};")

+ 5 - 5
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/package/scripts/yarn.py

@@ -63,24 +63,24 @@ def yarn(name = None):
   if name == "nodemanager":
   if name == "nodemanager":
     Directory(params.nm_local_dirs.split(',') + params.nm_log_dirs.split(','),
     Directory(params.nm_local_dirs.split(',') + params.nm_log_dirs.split(','),
               owner=params.yarn_user,
               owner=params.yarn_user,
-              recursive=True,
+              create_parents = True,
               ignore_failures=True,
               ignore_failures=True,
               )
               )
 
 
   Directory([params.yarn_pid_dir, params.yarn_log_dir],
   Directory([params.yarn_pid_dir, params.yarn_log_dir],
             owner=params.yarn_user,
             owner=params.yarn_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   Directory([params.mapred_pid_dir, params.mapred_log_dir],
   Directory([params.mapred_pid_dir, params.mapred_log_dir],
             owner=params.mapred_user,
             owner=params.mapred_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
   Directory([params.yarn_log_dir_prefix],
   Directory([params.yarn_log_dir_prefix],
             owner=params.yarn_user,
             owner=params.yarn_user,
-            recursive=True,
+            create_parents = True,
             ignore_failures=True,
             ignore_failures=True,
   )
   )
 
 
@@ -129,7 +129,7 @@ def yarn(name = None):
     Directory(params.ats_leveldb_dir,
     Directory(params.ats_leveldb_dir,
        owner=params.yarn_user,
        owner=params.yarn_user,
        group=params.user_group,
        group=params.user_group,
-       recursive=True
+       create_parents = True
     )
     )
 
 
   File(params.rm_nodes_exclude_path,
   File(params.rm_nodes_exclude_path,

+ 4 - 4
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/ZOOKEEPER/package/scripts/zookeeper.py

@@ -29,7 +29,7 @@ def zookeeper(type = None):
 
 
   Directory(params.config_dir,
   Directory(params.config_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group
             group=params.user_group
   )
   )
 
 
@@ -45,19 +45,19 @@ def zookeeper(type = None):
 
 
   Directory(params.zk_pid_dir,
   Directory(params.zk_pid_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group
             group=params.user_group
   )
   )
 
 
   Directory(params.zk_log_dir,
   Directory(params.zk_log_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group
             group=params.user_group
   )
   )
 
 
   Directory(params.zk_data_dir,
   Directory(params.zk_data_dir,
             owner=params.zk_user,
             owner=params.zk_user,
-            recursive=True,
+            create_parents = True,
             group=params.user_group
             group=params.user_group
   )
   )
 
 

+ 8 - 10
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py

@@ -54,7 +54,7 @@ def setup_users():
     Directory (params.hbase_tmp_dir,
     Directory (params.hbase_tmp_dir,
                owner = params.hbase_user,
                owner = params.hbase_user,
                mode=0775,
                mode=0775,
-               recursive = True,
+               create_parents = True,
                cd_access="a",
                cd_access="a",
     )
     )
     if not params.host_sys_prepped and params.override_uid == "true":
     if not params.host_sys_prepped and params.override_uid == "true":
@@ -144,7 +144,7 @@ def setup_hadoop_env():
 
 
     # HDP < 2.2 used a conf -> conf.empty symlink for /etc/hadoop/
     # HDP < 2.2 used a conf -> conf.empty symlink for /etc/hadoop/
     if Script.is_hdp_stack_less_than("2.2"):
     if Script.is_hdp_stack_less_than("2.2"):
-      Directory(params.hadoop_conf_empty_dir, recursive=True, owner="root",
+      Directory(params.hadoop_conf_empty_dir, create_parents = True, owner="root",
         group=params.user_group )
         group=params.user_group )
 
 
       Link(params.hadoop_conf_dir, to=params.hadoop_conf_empty_dir,
       Link(params.hadoop_conf_dir, to=params.hadoop_conf_empty_dir,
@@ -182,7 +182,7 @@ def setup_java():
       return
       return
 
 
     Directory(params.artifact_dir,
     Directory(params.artifact_dir,
-              recursive = True,
+              create_parents = True,
               )
               )
 
 
     File(jdk_curl_target,
     File(jdk_curl_target,
@@ -211,10 +211,8 @@ def setup_java():
          mode=0755,
          mode=0755,
          cd_access="a",
          cd_access="a",
          )
          )
-
-    Execute(("chgrp","-R", params.user_group, params.java_home),
-            sudo = True,
-            )
-    Execute(("chown","-R", getpass.getuser(), params.java_home),
-            sudo = True,
-            )
+    Directory(params.java_home,
+              owner = getpass.getuser(),
+              group = params.user_group,
+              recursive_ownership = True,
+    )

+ 2 - 2
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/rack_awareness.py

@@ -31,7 +31,7 @@ def create_topology_mapping():
   # only create the parent directory and set its permission if it does not exist
   # only create the parent directory and set its permission if it does not exist
   if not os.path.exists(parent_dir): 
   if not os.path.exists(parent_dir): 
     Directory(parent_dir, 
     Directory(parent_dir, 
-              recursive=True, 
+              create_parents = True, 
               owner=params.hdfs_user, 
               owner=params.hdfs_user, 
               group=params.user_group) 
               group=params.user_group) 
 
 
@@ -52,7 +52,7 @@ def create_topology_script():
   # only create the parent directory and set its permission if it does not exist 
   # only create the parent directory and set its permission if it does not exist 
   if not os.path.exists(parent_dir): 
   if not os.path.exists(parent_dir): 
     Directory(parent_dir, 
     Directory(parent_dir, 
-              recursive=True, 
+              create_parents = True, 
               owner=params.hdfs_user, 
               owner=params.hdfs_user, 
               group=params.user_group) 
               group=params.user_group) 
 
 

+ 4 - 4
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py

@@ -37,7 +37,7 @@ def setup_hadoop():
   #directories
   #directories
   if params.has_namenode or params.dfs_type == 'HCFS':
   if params.has_namenode or params.dfs_type == 'HCFS':
     Directory(params.hdfs_log_dir_prefix,
     Directory(params.hdfs_log_dir_prefix,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group=params.user_group,
               group=params.user_group,
               mode=0775,
               mode=0775,
@@ -45,13 +45,13 @@ def setup_hadoop():
     )
     )
     if params.has_namenode:
     if params.has_namenode:
       Directory(params.hadoop_pid_dir_prefix,
       Directory(params.hadoop_pid_dir_prefix,
-              recursive=True,
+              create_parents = True,
               owner='root',
               owner='root',
               group='root',
               group='root',
               cd_access='a',
               cd_access='a',
       )
       )
     Directory(params.hadoop_tmp_dir,
     Directory(params.hadoop_tmp_dir,
-              recursive=True,
+              create_parents = True,
               owner=params.hdfs_user,
               owner=params.hdfs_user,
               cd_access='a',
               cd_access='a',
               )
               )
@@ -146,7 +146,7 @@ def generate_include_file():
 def create_javahome_symlink():
 def create_javahome_symlink():
   if os.path.exists("/usr/jdk/jdk1.6.0_31") and not os.path.exists("/usr/jdk64/jdk1.6.0_31"):
   if os.path.exists("/usr/jdk/jdk1.6.0_31") and not os.path.exists("/usr/jdk64/jdk1.6.0_31"):
     Directory("/usr/jdk64/",
     Directory("/usr/jdk64/",
-         recursive=True,
+         create_parents = True,
     )
     )
     Link("/usr/jdk/jdk1.6.0_31",
     Link("/usr/jdk/jdk1.6.0_31",
          to="/usr/jdk64/jdk1.6.0_31",
          to="/usr/jdk64/jdk1.6.0_31",

+ 2 - 2
ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/FALCON/package/scripts/falcon.py

@@ -65,12 +65,12 @@ def falcon(type, action = None):
       params.HdfsDirectory(None, action="create")
       params.HdfsDirectory(None, action="create")
       Directory(params.falcon_local_dir,
       Directory(params.falcon_local_dir,
                 owner=params.falcon_user,
                 owner=params.falcon_user,
-                recursive=True
+                create_parents = True
       )
       )
       if params.falcon_embeddedmq_enabled == True:
       if params.falcon_embeddedmq_enabled == True:
         Directory(params.falcon_embeddedmq_data,
         Directory(params.falcon_embeddedmq_data,
                   owner=params.falcon_user,
                   owner=params.falcon_user,
-                  recursive=True
+                  create_parents = True
         )
         )
 
 
     if action == 'start':
     if action == 'start':

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/STORM/package/scripts/storm.py

@@ -29,7 +29,7 @@ def storm():
   Directory([params.log_dir, params.pid_dir, params.local_dir, params.conf_dir],
   Directory([params.log_dir, params.pid_dir, params.local_dir, params.conf_dir],
             owner=params.storm_user,
             owner=params.storm_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   File(format("{conf_dir}/config.yaml"),
   File(format("{conf_dir}/config.yaml"),

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/TEZ/package/scripts/tez.py

@@ -27,7 +27,7 @@ def tez():
   Directory(params.config_dir,
   Directory(params.config_dir,
     owner = params.tez_user,
     owner = params.tez_user,
     group = params.user_group,
     group = params.user_group,
-    recursive = True
+    create_parents = True
   )
   )
 
 
   XmlConfig( "tez-site.xml",
   XmlConfig( "tez-site.xml",

+ 5 - 5
ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/YARN/package/scripts/yarn.py

@@ -62,28 +62,28 @@ def yarn(name = None):
   if name == "nodemanager":
   if name == "nodemanager":
     Directory(params.nm_local_dirs.split(','),
     Directory(params.nm_local_dirs.split(','),
               owner=params.yarn_user,
               owner=params.yarn_user,
-              recursive=True
+              create_parents = True
     )
     )
     Directory(params.nm_log_dirs.split(','),
     Directory(params.nm_log_dirs.split(','),
               owner=params.yarn_user,
               owner=params.yarn_user,
-              recursive=True
+              create_parents = True
     )
     )
 
 
   Directory([params.yarn_pid_dir, params.yarn_log_dir],
   Directory([params.yarn_pid_dir, params.yarn_log_dir],
             owner=params.yarn_user,
             owner=params.yarn_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   Directory([params.mapred_pid_dir, params.mapred_log_dir],
   Directory([params.mapred_pid_dir, params.mapred_log_dir],
             owner=params.mapred_user,
             owner=params.mapred_user,
             group=params.user_group,
             group=params.user_group,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   Directory(params.yarn_log_dir_prefix,
   Directory(params.yarn_log_dir_prefix,
             owner=params.yarn_user,
             owner=params.yarn_user,
-            recursive=True
+            create_parents = True
   )
   )
 
 
   XmlConfig("core-site.xml",
   XmlConfig("core-site.xml",

+ 16 - 27
ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_collector.py

@@ -114,22 +114,17 @@ class TestMetricsCollector(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/ambari-metrics-collector/conf',
     self.assertResourceCalled('Directory', '/etc/ambari-metrics-collector/conf',
                               owner = 'ams',
                               owner = 'ams',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True
+                              create_parents = True,
+                              recursive_ownership = True,
     )
     )
-
-    self.assertResourceCalled('Execute', ('chown','-R', u'ams', '/etc/ambari-metrics-collector/conf'),
-                              sudo=True)
-
     self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/checkpoint',
     self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/checkpoint',
                               owner = 'ams',
                               owner = 'ams',
                               group = 'hadoop',
                               group = 'hadoop',
                               cd_access = 'a',
                               cd_access = 'a',
-                              recursive = True
+                              create_parents = True,
+                              recursive_ownership = True,
     )
     )
 
 
-    self.assertResourceCalled('Execute', ('chown','-R', u'ams', '/var/lib/ambari-metrics-collector/checkpoint'),
-                              sudo=True)
-
     self.assertResourceCalled('XmlConfig', 'ams-site.xml',
     self.assertResourceCalled('XmlConfig', 'ams-site.xml',
                               owner = 'ams',
                               owner = 'ams',
                               group = 'hadoop',
                               group = 'hadoop',
@@ -163,14 +158,14 @@ class TestMetricsCollector(RMFTestCase):
                               owner = 'ams',
                               owner = 'ams',
                               group = 'hadoop',
                               group = 'hadoop',
                               cd_access = 'a',
                               cd_access = 'a',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
     )
     )
     self.assertResourceCalled('Directory', '/var/run/ambari-metrics-collector',
     self.assertResourceCalled('Directory', '/var/run/ambari-metrics-collector',
                               owner = 'ams',
                               owner = 'ams',
                               cd_access = 'a',
                               cd_access = 'a',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode=0755,
                               mode=0755,
     )
     )
     self.assertResourceCalled('File', '/usr/lib/ams-hbase/bin/hadoop',
     self.assertResourceCalled('File', '/usr/lib/ams-hbase/bin/hadoop',
@@ -180,7 +175,7 @@ class TestMetricsCollector(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True
+                              create_parents = True
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/ams.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/ams.conf',
                               owner='root',
                               owner='root',
@@ -226,27 +221,23 @@ class TestMetricsCollector(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/ams-hbase/conf',
     self.assertResourceCalled('Directory', '/etc/ams-hbase/conf',
                               owner = 'ams',
                               owner = 'ams',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True
+                              create_parents = True,
+                              recursive_ownership = True,
     )
     )
 
 
-    self.assertResourceCalled('Execute', ('chown','-R', u'ams', '/etc/ams-hbase/conf'),
-                                sudo=True)
-
     self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/hbase-tmp',
     self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/hbase-tmp',
                               owner = 'ams',
                               owner = 'ams',
                               cd_access = 'a',
                               cd_access = 'a',
-                              recursive = True
+                              create_parents = True,
+                              recursive_ownership = True,
     )
     )
 
 
-    self.assertResourceCalled('Execute', ('chown','-R', u'ams', '/var/lib/ambari-metrics-collector/hbase-tmp'),
-                            sudo=True)
-
     self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/hbase-tmp/local/jars',
     self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/hbase-tmp/local/jars',
                               owner = 'ams',
                               owner = 'ams',
                               cd_access = 'a',
                               cd_access = 'a',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0775,
                               mode = 0775,
-                              recursive = True
+                              create_parents = True
     )
     )
     self.assertResourceCalled('XmlConfig', 'hbase-site.xml',
     self.assertResourceCalled('XmlConfig', 'hbase-site.xml',
                               owner = 'ams',
                               owner = 'ams',
@@ -277,13 +268,13 @@ class TestMetricsCollector(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/ambari-metrics-collector/',
     self.assertResourceCalled('Directory', '/var/run/ambari-metrics-collector/',
                               owner = 'ams',
                               owner = 'ams',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               cd_access = "a",
                               cd_access = "a",
     )
     )
     self.assertResourceCalled('Directory', '/var/log/ambari-metrics-collector',
     self.assertResourceCalled('Directory', '/var/log/ambari-metrics-collector',
                               owner = 'ams',
                               owner = 'ams',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               cd_access = "a",
                               cd_access = "a",
     )
     )
@@ -340,13 +331,11 @@ class TestMetricsCollector(RMFTestCase):
         self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/hbase',
         self.assertResourceCalled('Directory', '/var/lib/ambari-metrics-collector/hbase',
                                   owner = 'ams',
                                   owner = 'ams',
                                   cd_access="a",
                                   cd_access="a",
-                                  recursive = True
+                                  create_parents = True,
+                                  recursive_ownership = True,
         )
         )
 
 
       if (not distributed):
       if (not distributed):
-        self.assertResourceCalled('Execute', ('chown','-R','ams', '/var/lib/ambari-metrics-collector/hbase'),
-                                  sudo=True)
-
 
 
         self.assertResourceCalled('File', '/var/run/ambari-metrics-collector//distributed_mode',
         self.assertResourceCalled('File', '/var/run/ambari-metrics-collector//distributed_mode',
                                   owner = 'ams',
                                   owner = 'ams',

+ 4 - 4
ambari-server/src/test/python/stacks/2.0.6/FLUME/test_flume.py

@@ -231,7 +231,7 @@ class TestFlumeHandler(RMFTestCase):
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/etc/flume/conf',
                               '/etc/flume/conf',
                               owner='flume',
                               owner='flume',
-                              recursive=True)
+                              create_parents = True)
 
 
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/var/log/flume',
                               '/var/log/flume',
@@ -279,7 +279,7 @@ class TestFlumeHandler(RMFTestCase):
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/etc/flume/conf',
                               '/etc/flume/conf',
                               owner='flume',
                               owner='flume',
-                              recursive=True)
+                              create_parents = True)
 
 
     self.assertResourceCalled('Directory', '/var/log/flume', owner = 'flume', cd_access = 'a', mode=0755)
     self.assertResourceCalled('Directory', '/var/log/flume', owner = 'flume', cd_access = 'a', mode=0755)
 
 
@@ -442,7 +442,7 @@ class TestFlumeHandler(RMFTestCase):
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/etc/flume/conf',
                               '/etc/flume/conf',
                               owner='flume',
                               owner='flume',
-                              recursive=True)
+                              create_parents = True)
 
 
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/var/log/flume',
                               '/var/log/flume',
@@ -493,7 +493,7 @@ class TestFlumeHandler(RMFTestCase):
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/usr/hdp/current/flume-server/conf',
                               '/usr/hdp/current/flume-server/conf',
                               owner='flume',
                               owner='flume',
-                              recursive=True)
+                              create_parents = True)
 
 
     self.assertResourceCalled('Directory',
     self.assertResourceCalled('Directory',
                               '/var/log/flume',
                               '/var/log/flume',

+ 2 - 2
ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py

@@ -107,12 +107,12 @@ class TestGangliaMonitor(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/ganglia/hdp',
     self.assertResourceCalled('Directory', '/etc/ganglia/hdp',
                               owner = 'root',
                               owner = 'root',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/usr/libexec/hdp/ganglia',
     self.assertResourceCalled('Directory', '/usr/libexec/hdp/ganglia',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/init.d/hdp-gmetad',
     self.assertResourceCalled('File', '/etc/init.d/hdp-gmetad',
                               content = StaticFile('gmetad.init'),
                               content = StaticFile('gmetad.init'),

+ 7 - 8
ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py

@@ -84,7 +84,7 @@ class TestGangliaServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/usr/libexec/hdp/ganglia',
     self.assertResourceCalled('Directory', '/usr/libexec/hdp/ganglia',
         owner = 'root',
         owner = 'root',
         group = 'root',
         group = 'root',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/init.d/hdp-gmetad',
     self.assertResourceCalled('File', '/etc/init.d/hdp-gmetad',
         content = StaticFile('gmetad.init'),
         content = StaticFile('gmetad.init'),
@@ -173,17 +173,16 @@ class TestGangliaServer(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/ganglia',
     self.assertResourceCalled('Directory', '/var/run/ganglia',
         mode=0755,
         mode=0755,
-        recursive=True
+        create_parents = True
     )
     )
     self.assertResourceCalled('Directory', '/var/lib/ganglia-web/dwoo',
     self.assertResourceCalled('Directory', '/var/lib/ganglia-web/dwoo',
-        recursive = True,
+        owner = 'wwwrun',
+        create_parents = True,
+        recursive_ownership = True,
         mode = 0755,
         mode = 0755,
     )
     )
-    self.assertResourceCalled('Execute', ('chown', '-R', 'wwwrun', '/var/lib/ganglia-web/dwoo'),
-        sudo = True,
-    )
     self.assertResourceCalled('Directory', '/srv/www/cgi-bin',
     self.assertResourceCalled('Directory', '/srv/www/cgi-bin',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('TemplateConfig', '/srv/www/cgi-bin/rrd.py',
     self.assertResourceCalled('TemplateConfig', '/srv/www/cgi-bin/rrd.py',
                               owner = "root",
                               owner = "root",
@@ -193,7 +192,7 @@ class TestGangliaServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/var/lib/ganglia/rrds',
     self.assertResourceCalled('Directory', '/var/lib/ganglia/rrds',
                               owner = 'nobody',
                               owner = 'nobody',
                               group = 'nobody',
                               group = 'nobody',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               )
                               )
     self.assertResourceCalled('File', '/etc/apache2/conf.d/ganglia.conf',
     self.assertResourceCalled('File', '/etc/apache2/conf.d/ganglia.conf',

+ 8 - 8
ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py

@@ -44,16 +44,16 @@ class TestHBaseClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -99,7 +99,7 @@ class TestHBaseClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -142,16 +142,16 @@ class TestHBaseClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -197,7 +197,7 @@ class TestHBaseClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),

+ 18 - 18
ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py

@@ -233,16 +233,16 @@ class TestHBaseMaster(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -288,7 +288,7 @@ class TestHBaseMaster(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -306,13 +306,13 @@ class TestHBaseMaster(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -370,16 +370,16 @@ class TestHBaseMaster(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -425,7 +425,7 @@ class TestHBaseMaster(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -447,13 +447,13 @@ class TestHBaseMaster(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -517,15 +517,15 @@ class TestHBaseMaster(RMFTestCase):
     self.assertResourceCalled('Directory', '/usr/hdp/current/hbase-master/conf',
     self.assertResourceCalled('Directory', '/usr/hdp/current/hbase-master/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True)
+      create_parents = True)
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
 
 
@@ -576,7 +576,7 @@ class TestHBaseMaster(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -594,14 +594,14 @@ class TestHBaseMaster(RMFTestCase):
 
 
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
 
 
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )

+ 24 - 24
ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py

@@ -133,16 +133,16 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-      recursive = True,
+      create_parents = True,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -188,7 +188,7 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -206,13 +206,13 @@ class TestHbaseRegionServer(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -231,16 +231,16 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
     self.assertResourceCalled('Directory', '/etc/hbase/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -286,7 +286,7 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
         owner = 'root',
         owner = 'root',
         group = 'root',
         group = 'root',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
         content = Template('hbase.conf.j2'),
         content = Template('hbase.conf.j2'),
@@ -308,13 +308,13 @@ class TestHbaseRegionServer(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -340,16 +340,16 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/usr/hdp/current/hbase-regionserver/conf',
     self.assertResourceCalled('Directory', '/usr/hdp/current/hbase-regionserver/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True)
+      create_parents = True)
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
 
 
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
 
 
@@ -399,7 +399,7 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -418,14 +418,14 @@ class TestHbaseRegionServer(RMFTestCase):
 
 
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
 
 
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -456,16 +456,16 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/usr/hdp/current/hbase-regionserver/conf',
     self.assertResourceCalled('Directory', '/usr/hdp/current/hbase-regionserver/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True)
+      create_parents = True)
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
 
 
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
 
 
@@ -516,7 +516,7 @@ class TestHbaseRegionServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
 
 
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
@@ -536,14 +536,14 @@ class TestHbaseRegionServer(RMFTestCase):
 
 
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
 
 
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )

+ 16 - 16
ambari-server/src/test/python/stacks/2.0.6/HBASE/test_phoenix_queryserver.py

@@ -169,7 +169,7 @@ class TestPhoenixQueryServer(RMFTestCase):
       '/usr/hdp/current/hbase-regionserver/conf',
       '/usr/hdp/current/hbase-regionserver/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True)
+      create_parents = True)
 
 
     self.assertResourceCalled('XmlConfig', 'hbase-site.xml',
     self.assertResourceCalled('XmlConfig', 'hbase-site.xml',
       owner = 'hbase',
       owner = 'hbase',
@@ -196,11 +196,11 @@ class TestPhoenixQueryServer(RMFTestCase):
 
 
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True)
+      create_parents = True)
 
 
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True)
+      create_parents = True)
 
 
     self.assertResourceCalled('File',
     self.assertResourceCalled('File',
       '/usr/lib/phoenix/bin/log4j.properties',
       '/usr/lib/phoenix/bin/log4j.properties',
@@ -235,16 +235,16 @@ class TestPhoenixQueryServer(RMFTestCase):
       '/usr/hdp/current/hbase-regionserver/conf',
       '/usr/hdp/current/hbase-regionserver/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -300,7 +300,7 @@ class TestPhoenixQueryServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -320,13 +320,13 @@ class TestPhoenixQueryServer(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -348,16 +348,16 @@ class TestPhoenixQueryServer(RMFTestCase):
       '/usr/hdp/current/hbase-regionserver/conf',
       '/usr/hdp/current/hbase-regionserver/conf',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
       owner = 'hbase',
       owner = 'hbase',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0777
       mode = 0777
     )
     )
     self.assertResourceCalled('Directory', '/hadoop',
     self.assertResourceCalled('Directory', '/hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
     self.assertResourceCalled('Execute', ('chmod', '1777', u'/hadoop'),
@@ -413,7 +413,7 @@ class TestPhoenixQueryServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
       owner = 'root',
       owner = 'root',
       group = 'root',
       group = 'root',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hbase.conf',
       content = Template('hbase.conf.j2'),
       content = Template('hbase.conf.j2'),
@@ -438,13 +438,13 @@ class TestPhoenixQueryServer(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hbase',
     self.assertResourceCalled('Directory', '/var/run/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hbase',
     self.assertResourceCalled('Directory', '/var/log/hbase',
       owner = 'hbase',
       owner = 'hbase',
-      recursive = True,
+      create_parents = True,
       mode = 0755,
       mode = 0755,
       cd_access = 'a',
       cd_access = 'a',
     )
     )
@@ -473,7 +473,7 @@ class TestPhoenixQueryServer(RMFTestCase):
       target = RMFTestCase.TARGET_COMMON_SERVICES)
       target = RMFTestCase.TARGET_COMMON_SERVICES)
 
 
     self.assertResourceCalled('Directory', '/etc/hbase/2.3.0.0-1234/0',
     self.assertResourceCalled('Directory', '/etc/hbase/2.3.0.0-1234/0',
-        recursive = True,
+        create_parents = True,
         mode = 0755,
         mode = 0755,
         cd_access = 'a',
         cd_access = 'a',
     )
     )

+ 20 - 20
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py

@@ -57,11 +57,11 @@ class TestDatanode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -117,11 +117,11 @@ class TestDatanode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -155,11 +155,11 @@ class TestDatanode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -196,11 +196,11 @@ class TestDatanode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-datanode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -278,10 +278,10 @@ class TestDatanode(RMFTestCase):
 
 
   def assert_configure_default(self):
   def assert_configure_default(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -292,7 +292,7 @@ class TestDatanode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -324,20 +324,20 @@ class TestDatanode(RMFTestCase):
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0751,
                               mode = 0751,
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/lib/ambari-agent/data/datanode',
     self.assertResourceCalled('Directory', '/var/lib/ambari-agent/data/datanode',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True
+                              create_parents = True
     )
     )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/data',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/data',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               ignore_failures = True,
                               ignore_failures = True,
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
     content = resource_management.libraries.functions.dfs_datanode_helper.DATA_DIR_TO_MOUNT_HEADER
     content = resource_management.libraries.functions.dfs_datanode_helper.DATA_DIR_TO_MOUNT_HEADER
@@ -355,10 +355,10 @@ class TestDatanode(RMFTestCase):
     
     
     if snappy_enabled:
     if snappy_enabled:
       self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
       self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-          recursive = True,
+          create_parents = True,
       )
       )
       self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
       self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-          recursive = True,
+          create_parents = True,
       )
       )
       self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
       self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
           to = '/usr/lib/hadoop/lib/libsnappy.so',
           to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -369,7 +369,7 @@ class TestDatanode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -402,20 +402,20 @@ class TestDatanode(RMFTestCase):
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0751,
                               mode = 0751,
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/lib/ambari-agent/data/datanode',
     self.assertResourceCalled('Directory', '/var/lib/ambari-agent/data/datanode',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True
+                              create_parents = True
     )
     )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/data',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/data',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               ignore_failures = True,
                               ignore_failures = True,
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
     content = resource_management.libraries.functions.dfs_datanode_helper.DATA_DIR_TO_MOUNT_HEADER
     content = resource_management.libraries.functions.dfs_datanode_helper.DATA_DIR_TO_MOUNT_HEADER

+ 1 - 1
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py

@@ -44,7 +44,7 @@ class Test(RMFTestCase):
                        target = RMFTestCase.TARGET_COMMON_SERVICES
                        target = RMFTestCase.TARGET_COMMON_SERVICES
     )
     )
     self.assertResourceCalled('Directory', '/tmp',
     self.assertResourceCalled('Directory', '/tmp',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('XmlConfig', 'hdfs-site.xml',
     self.assertResourceCalled('XmlConfig', 'hdfs-site.xml',
                               conf_dir = '/tmp/123',
                               conf_dir = '/tmp/123',

+ 12 - 12
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py

@@ -55,11 +55,11 @@ class TestJournalnode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-journalnode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-journalnode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -113,11 +113,11 @@ class TestJournalnode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-journalnode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-journalnode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -148,14 +148,14 @@ class TestJournalnode(RMFTestCase):
     self.assertResourceCalled('Directory', '/grid/0/hdfs/journal',
     self.assertResourceCalled('Directory', '/grid/0/hdfs/journal',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -166,7 +166,7 @@ class TestJournalnode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -199,14 +199,14 @@ class TestJournalnode(RMFTestCase):
     self.assertResourceCalled('Directory', '/grid/0/hdfs/journal',
     self.assertResourceCalled('Directory', '/grid/0/hdfs/journal',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -217,7 +217,7 @@ class TestJournalnode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),

+ 30 - 30
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py

@@ -60,7 +60,7 @@ class TestNamenode(RMFTestCase):
                               user = 'hdfs',
                               user = 'hdfs',
                               )
                               )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
                               owner = 'hdfs',
                               owner = 'hdfs',
@@ -74,11 +74,11 @@ class TestNamenode(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -173,7 +173,7 @@ class TestNamenode(RMFTestCase):
         user = 'hdfs',
         user = 'hdfs',
     )
     )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
                               owner = 'hdfs',
                               owner = 'hdfs',
@@ -187,11 +187,11 @@ class TestNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -299,7 +299,7 @@ class TestNamenode(RMFTestCase):
         user = 'hdfs',
         user = 'hdfs',
     )
     )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
                               owner = 'hdfs',
                               owner = 'hdfs',
@@ -313,11 +313,11 @@ class TestNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -412,11 +412,11 @@ class TestNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -509,11 +509,11 @@ class TestNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -609,11 +609,11 @@ class TestNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -701,7 +701,7 @@ class TestNamenode(RMFTestCase):
         user = 'hdfs',
         user = 'hdfs',
     )
     )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode/namenode-formatted/',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
     self.assertResourceCalled('File', '/etc/hadoop/conf/dfs.exclude',
                               owner = 'hdfs',
                               owner = 'hdfs',
@@ -715,11 +715,11 @@ class TestNamenode(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -817,11 +817,11 @@ class TestNamenode(RMFTestCase):
     # command is run before the namenode launches
     # command is run before the namenode launches
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -927,11 +927,11 @@ class TestNamenode(RMFTestCase):
     # command is run before the namenode launches
     # command is run before the namenode launches
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid',
                               action = ['delete'],
                               action = ['delete'],
@@ -1089,10 +1089,10 @@ class TestNamenode(RMFTestCase):
 
 
   def assert_configure_default(self):
   def assert_configure_default(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -1103,7 +1103,7 @@ class TestNamenode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -1134,17 +1134,17 @@ class TestNamenode(RMFTestCase):
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
 
 
   def assert_configure_secured(self):
   def assert_configure_secured(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -1155,7 +1155,7 @@ class TestNamenode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -1186,7 +1186,7 @@ class TestNamenode(RMFTestCase):
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namenode',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               cd_access='a'
                               cd_access='a'
                               )
                               )

+ 8 - 8
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_nfsgateway.py

@@ -61,7 +61,7 @@ class TestNFSGateway(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/root',
     self.assertResourceCalled('Directory', '/var/run/hadoop/root',
                               owner = 'root',
                               owner = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/root',
     self.assertResourceCalled('Directory', '/var/log/hadoop/root',
                               owner = 'root',
                               owner = 'root',
@@ -128,7 +128,7 @@ class TestNFSGateway(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/root',
     self.assertResourceCalled('Directory', '/var/run/hadoop/root',
                               owner = 'root',
                               owner = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/root',
     self.assertResourceCalled('Directory', '/var/log/hadoop/root',
                               owner = 'root',
                               owner = 'root',
@@ -168,10 +168,10 @@ class TestNFSGateway(RMFTestCase):
 
 
   def assert_configure_default(self):
   def assert_configure_default(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -182,7 +182,7 @@ class TestNFSGateway(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -213,10 +213,10 @@ class TestNFSGateway(RMFTestCase):
 
 
   def assert_configure_secured(self):
   def assert_configure_secured(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -227,7 +227,7 @@ class TestNFSGateway(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),

+ 13 - 13
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py

@@ -62,11 +62,11 @@ class TestSNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-secondarynamenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-secondarynamenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -130,11 +130,11 @@ class TestSNamenode(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-secondarynamenode.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-secondarynamenode.pid',
         action = ['delete'],
         action = ['delete'],
@@ -163,10 +163,10 @@ class TestSNamenode(RMFTestCase):
 
 
   def assert_configure_default(self):
   def assert_configure_default(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -177,7 +177,7 @@ class TestSNamenode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -209,23 +209,23 @@ class TestSNamenode(RMFTestCase):
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namesecondary2',
     self.assertResourceCalled('Directory', '/hadoop/hdfs/namesecondary2',
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
     )
     )
 
 
   def assert_configure_secured(self):
   def assert_configure_secured(self):
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -236,7 +236,7 @@ class TestSNamenode(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -268,7 +268,7 @@ class TestSNamenode(RMFTestCase):
                               owner = 'hdfs',
                               owner = 'hdfs',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access='a'
                               cd_access='a'
                               )
                               )
 
 

+ 20 - 20
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py

@@ -35,10 +35,10 @@ class TestZkfc(RMFTestCase):
                        target = RMFTestCase.TARGET_COMMON_SERVICES
                        target = RMFTestCase.TARGET_COMMON_SERVICES
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -49,7 +49,7 @@ class TestZkfc(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -89,11 +89,11 @@ class TestZkfc(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
         action = ['delete'],
         action = ['delete'],
@@ -130,10 +130,10 @@ class TestZkfc(RMFTestCase):
                        target = RMFTestCase.TARGET_COMMON_SERVICES
                        target = RMFTestCase.TARGET_COMMON_SERVICES
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -144,7 +144,7 @@ class TestZkfc(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -184,11 +184,11 @@ class TestZkfc(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
         action = ['delete'],
         action = ['delete'],
@@ -224,10 +224,10 @@ class TestZkfc(RMFTestCase):
                        target = RMFTestCase.TARGET_COMMON_SERVICES
                        target = RMFTestCase.TARGET_COMMON_SERVICES
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -238,7 +238,7 @@ class TestZkfc(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -279,11 +279,11 @@ class TestZkfc(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
         action = ['delete'],
         action = ['delete'],
@@ -304,10 +304,10 @@ class TestZkfc(RMFTestCase):
                        target = RMFTestCase.TARGET_COMMON_SERVICES
                        target = RMFTestCase.TARGET_COMMON_SERVICES
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-i386-32',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
     self.assertResourceCalled('Directory', '/usr/lib/hadoop/lib/native/Linux-amd64-64',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
     self.assertResourceCalled('Link', '/usr/lib/hadoop/lib/native/Linux-i386-32/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
         to = '/usr/lib/hadoop/lib/libsnappy.so',
@@ -318,7 +318,7 @@ class TestZkfc(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hdfs.conf',
                               content = Template('hdfs.conf.j2'),
                               content = Template('hdfs.conf.j2'),
@@ -359,11 +359,11 @@ class TestZkfc(RMFTestCase):
     )
     )
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/run/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
     self.assertResourceCalled('Directory', '/var/log/hadoop/hdfs',
                               owner = 'hdfs',
                               owner = 'hdfs',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
     self.assertResourceCalled('File', '/var/run/hadoop/hdfs/hadoop-hdfs-zkfc.pid',
         action = ['delete'],
         action = ['delete'],

+ 6 - 6
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hcat_client.py

@@ -35,16 +35,16 @@ class TestHcatClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/etc/hive-hcatalog/conf',
     self.assertResourceCalled('Directory', '/etc/hive-hcatalog/conf',
       owner = 'hcat',
       owner = 'hcat',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('Directory', '/var/run/webhcat',
     self.assertResourceCalled('Directory', '/var/run/webhcat',
       owner = 'hcat',
       owner = 'hcat',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('XmlConfig', 'hive-site.xml',
     self.assertResourceCalled('XmlConfig', 'hive-site.xml',
       owner = 'hive',
       owner = 'hive',
@@ -72,18 +72,18 @@ class TestHcatClient(RMFTestCase):
                          target = RMFTestCase.TARGET_COMMON_SERVICES
                          target = RMFTestCase.TARGET_COMMON_SERVICES
     )
     )
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
-                              recursive = True,
+                              create_parents = True,
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
     )
     )
     self.assertResourceCalled('Directory', '/etc/hive-hcatalog/conf',
     self.assertResourceCalled('Directory', '/etc/hive-hcatalog/conf',
-      recursive = True,
+      create_parents = True,
       owner = 'hcat',
       owner = 'hcat',
       group = 'hadoop',
       group = 'hadoop',
     )
     )
     self.assertResourceCalled('Directory', '/var/run/webhcat',
     self.assertResourceCalled('Directory', '/var/run/webhcat',
       owner = 'hcat',
       owner = 'hcat',
-      recursive = True,
+      create_parents = True,
     )
     )
     self.assertResourceCalled('XmlConfig', 'hive-site.xml',
     self.assertResourceCalled('XmlConfig', 'hive-site.xml',
       owner = 'hive',
       owner = 'hive',

+ 4 - 4
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py

@@ -39,7 +39,7 @@ class TestHiveClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
         owner = 'hive',
         owner = 'hive',
         group = 'hadoop',
         group = 'hadoop',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
         group = 'hadoop',
         group = 'hadoop',
@@ -85,7 +85,7 @@ class TestHiveClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content = Template('hive.conf.j2'),
                               content = Template('hive.conf.j2'),
@@ -115,7 +115,7 @@ class TestHiveClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
         owner = 'hive',
         owner = 'hive',
         group = 'hadoop',
         group = 'hadoop',
-        recursive = True,
+        create_parents = True,
     )
     )
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
         group = 'hadoop',
         group = 'hadoop',
@@ -161,7 +161,7 @@ class TestHiveClient(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content = Template('hive.conf.j2'),
                               content = Template('hive.conf.j2'),

+ 15 - 15
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py

@@ -153,7 +153,7 @@ class TestHiveMetastore(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
                               group = 'hadoop',
                               group = 'hadoop',
@@ -202,7 +202,7 @@ class TestHiveMetastore(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content = Template('hive.conf.j2'),
                               content = Template('hive.conf.j2'),
@@ -236,21 +236,21 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hive',
     self.assertResourceCalled('Directory', '/var/log/hive',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Directory', '/var/lib/hive',
     self.assertResourceCalled('Directory', '/var/lib/hive',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
 
 
@@ -261,7 +261,7 @@ class TestHiveMetastore(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
                               group = 'hadoop',
                               group = 'hadoop',
@@ -310,7 +310,7 @@ class TestHiveMetastore(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True,
+                              create_parents = True,
                               )
                               )
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content = Template('hive.conf.j2'),
                               content = Template('hive.conf.j2'),
@@ -344,21 +344,21 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/hive',
     self.assertResourceCalled('Directory', '/var/log/hive',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
     self.assertResourceCalled('Directory', '/var/lib/hive',
     self.assertResourceCalled('Directory', '/var/lib/hive',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a',
                               cd_access = 'a',
                               )
                               )
 
 
@@ -394,7 +394,7 @@ class TestHiveMetastore(RMFTestCase):
     self.assertResourceCalled('Directory', '/usr/hdp/current/hive-server2/conf',
     self.assertResourceCalled('Directory', '/usr/hdp/current/hive-server2/conf',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True)
+                              create_parents = True)
 
 
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
                               group = 'hadoop',
                               group = 'hadoop',
@@ -444,7 +444,7 @@ class TestHiveMetastore(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner = 'root',
                               owner = 'root',
                               group = 'root',
                               group = 'root',
-                              recursive = True)
+                              create_parents = True)
 
 
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content = Template('hive.conf.j2'),
                               content = Template('hive.conf.j2'),
@@ -481,21 +481,21 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a')
                               cd_access = 'a')
 
 
     self.assertResourceCalled('Directory', '/var/log/hive',
     self.assertResourceCalled('Directory', '/var/log/hive',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a')
                               cd_access = 'a')
 
 
     self.assertResourceCalled('Directory', '/var/lib/hive',
     self.assertResourceCalled('Directory', '/var/lib/hive',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               mode = 0755,
                               mode = 0755,
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a')
                               cd_access = 'a')
 
 
     self.assertResourceCalled('Execute', '/tmp/start_metastore_script /var/log/hive/hive.out /var/log/hive/hive.log /var/run/hive/hive.pid /usr/hdp/current/hive-server2/conf/conf.server /var/log/hive',
     self.assertResourceCalled('Execute', '/tmp/start_metastore_script /var/log/hive/hive.out /var/log/hive/hive.log /var/run/hive/hive.pid /usr/hdp/current/hive-server2/conf/conf.server /var/log/hive',

+ 10 - 10
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py

@@ -418,7 +418,7 @@ class TestHiveServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner='hive',
                               owner='hive',
                               group='hadoop',
                               group='hadoop',
-                              recursive=True,
+                              create_parents = True,
     )
     )
 
 
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
@@ -468,7 +468,7 @@ class TestHiveServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner='root',
                               owner='root',
                               group='root',
                               group='root',
-                              recursive=True,
+                              create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content=Template('hive.conf.j2'),
                               content=Template('hive.conf.j2'),
@@ -499,21 +499,21 @@ class TestHiveServer(RMFTestCase):
                               owner='hive',
                               owner='hive',
                               mode=0755,
                               mode=0755,
                               group='hadoop',
                               group='hadoop',
-                              recursive=True,
+                              create_parents = True,
                               cd_access='a',
                               cd_access='a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hive',
     self.assertResourceCalled('Directory', '/var/log/hive',
                               owner='hive',
                               owner='hive',
                               mode=0755,
                               mode=0755,
                               group='hadoop',
                               group='hadoop',
-                              recursive=True,
+                              create_parents = True,
                               cd_access='a',
                               cd_access='a',
     )
     )
     self.assertResourceCalled('Directory', '/var/lib/hive',
     self.assertResourceCalled('Directory', '/var/lib/hive',
                               owner='hive',
                               owner='hive',
                               mode=0755,
                               mode=0755,
                               group='hadoop',
                               group='hadoop',
-                              recursive=True,
+                              create_parents = True,
                               cd_access='a',
                               cd_access='a',
     )
     )
 
 
@@ -601,7 +601,7 @@ class TestHiveServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner='hive',
                               owner='hive',
                               group='hadoop',
                               group='hadoop',
-                              recursive=True,
+                              create_parents = True,
     )
     )
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
     self.assertResourceCalled('XmlConfig', 'mapred-site.xml',
                               group='hadoop',
                               group='hadoop',
@@ -650,7 +650,7 @@ class TestHiveServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
     self.assertResourceCalled('Directory', '/etc/security/limits.d',
                               owner='root',
                               owner='root',
                               group='root',
                               group='root',
-                              recursive=True,
+                              create_parents = True,
     )
     )
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
     self.assertResourceCalled('File', '/etc/security/limits.d/hive.conf',
                               content=Template('hive.conf.j2'),
                               content=Template('hive.conf.j2'),
@@ -681,21 +681,21 @@ class TestHiveServer(RMFTestCase):
                               owner='hive',
                               owner='hive',
                               group='hadoop',
                               group='hadoop',
                               mode=0755,
                               mode=0755,
-                              recursive=True,
+                              create_parents = True,
                               cd_access='a',
                               cd_access='a',
     )
     )
     self.assertResourceCalled('Directory', '/var/log/hive',
     self.assertResourceCalled('Directory', '/var/log/hive',
                               owner='hive',
                               owner='hive',
                               group='hadoop',
                               group='hadoop',
                               mode=0755,
                               mode=0755,
-                              recursive=True,
+                              create_parents = True,
                               cd_access='a',
                               cd_access='a',
     )
     )
     self.assertResourceCalled('Directory', '/var/lib/hive',
     self.assertResourceCalled('Directory', '/var/lib/hive',
                               owner='hive',
                               owner='hive',
                               group='hadoop',
                               group='hadoop',
                               mode=0755,
                               mode=0755,
-                              recursive=True,
+                              create_parents = True,
                               cd_access='a',
                               cd_access='a',
     )
     )
 
 

+ 12 - 12
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py

@@ -143,19 +143,19 @@ class TestWebHCatServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/var/run/webhcat',
     self.assertResourceCalled('Directory', '/var/run/webhcat',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/webhcat',
     self.assertResourceCalled('Directory', '/var/log/webhcat',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               )
                               )
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a'
                               cd_access = 'a'
                               )
                               )
     self.assertResourceCalled('XmlConfig', 'webhcat-site.xml',
     self.assertResourceCalled('XmlConfig', 'webhcat-site.xml',
@@ -172,7 +172,7 @@ class TestWebHCatServer(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
         cd_access = 'a',
         cd_access = 'a',
-        recursive=True
+        create_parents = True
     )
     )
     self.assertResourceCalled('File', '/etc/hive-webhcat/conf/webhcat-log4j.properties',
     self.assertResourceCalled('File', '/etc/hive-webhcat/conf/webhcat-log4j.properties',
                               content = 'log4jproperties\nline2',
                               content = 'log4jproperties\nline2',
@@ -185,19 +185,19 @@ class TestWebHCatServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/var/run/webhcat',
     self.assertResourceCalled('Directory', '/var/run/webhcat',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               )
                               )
     self.assertResourceCalled('Directory', '/var/log/webhcat',
     self.assertResourceCalled('Directory', '/var/log/webhcat',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               mode = 0755,
                               mode = 0755,
                               )
                               )
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
                               owner = 'hcat',
                               owner = 'hcat',
                               group = 'hadoop',
                               group = 'hadoop',
-                              recursive = True,
+                              create_parents = True,
                               cd_access = 'a'
                               cd_access = 'a'
                               )
                               )
     self.assertResourceCalled('Execute', '/usr/bin/kinit -kt /etc/security/keytabs/hdfs.headless.keytab hdfs;',
     self.assertResourceCalled('Execute', '/usr/bin/kinit -kt /etc/security/keytabs/hdfs.headless.keytab hdfs;',
@@ -218,7 +218,7 @@ class TestWebHCatServer(RMFTestCase):
                               )
                               )
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
     self.assertResourceCalled('Directory', '/etc/hive-webhcat/conf',
         cd_access = 'a',
         cd_access = 'a',
-        recursive=True
+        create_parents = True
     )
     )
     self.assertResourceCalled('File', '/etc/hive-webhcat/conf/webhcat-log4j.properties',
     self.assertResourceCalled('File', '/etc/hive-webhcat/conf/webhcat-log4j.properties',
                               content = 'log4jproperties\nline2',
                               content = 'log4jproperties\nline2',
@@ -428,19 +428,19 @@ class TestWebHCatServer(RMFTestCase):
     self.assertResourceCalled('Directory', '/var/run/webhcat',
     self.assertResourceCalled('Directory', '/var/run/webhcat',
       owner = 'hcat',
       owner = 'hcat',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0755)
       mode = 0755)
 
 
     self.assertResourceCalled('Directory', '/var/log/webhcat',
     self.assertResourceCalled('Directory', '/var/log/webhcat',
       owner = 'hcat',
       owner = 'hcat',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       mode = 0755)
       mode = 0755)
 
 
     self.assertResourceCalled('Directory', '/usr/hdp/current/hive-webhcat/etc/webhcat',
     self.assertResourceCalled('Directory', '/usr/hdp/current/hive-webhcat/etc/webhcat',
       owner = 'hcat',
       owner = 'hcat',
       group = 'hadoop',
       group = 'hadoop',
-      recursive = True,
+      create_parents = True,
       cd_access = 'a',)
       cd_access = 'a',)
 
 
     self.assertResourceCalled('XmlConfig', 'webhcat-site.xml',
     self.assertResourceCalled('XmlConfig', 'webhcat-site.xml',
@@ -476,7 +476,7 @@ class TestWebHCatServer(RMFTestCase):
 
 
     self.assertResourceCalled('Directory', '/usr/hdp/current/hive-webhcat/etc/webhcat',
     self.assertResourceCalled('Directory', '/usr/hdp/current/hive-webhcat/etc/webhcat',
       cd_access = 'a',
       cd_access = 'a',
-      recursive=True)
+      create_parents = True)
 
 
     self.assertResourceCalled('File', '/usr/hdp/current/hive-webhcat/etc/webhcat/webhcat-log4j.properties',
     self.assertResourceCalled('File', '/usr/hdp/current/hive-webhcat/etc/webhcat/webhcat-log4j.properties',
                               content = 'log4jproperties\nline2',
                               content = 'log4jproperties\nline2',

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov