Browse Source

AMBARI-4512 Add unittest for Log4j changes (dsen)

Dmitry Sen 11 years ago
parent
commit
a12ea1ec82
24 changed files with 647 additions and 102 deletions
  1. 14 8
      ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_client.py
  2. 15 9
      ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_master.py
  3. 15 9
      ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_regionserver.py
  4. 32 0
      ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_client.py
  5. 64 0
      ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_metastore.py
  6. 64 0
      ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_server.py
  7. 14 8
      ambari-server/src/test/python/stacks/1.3.2/ZOOKEEPER/test_zookeeper_client.py
  8. 14 8
      ambari-server/src/test/python/stacks/1.3.2/ZOOKEEPER/test_zookeeper_server.py
  9. 18 0
      ambari-server/src/test/python/stacks/1.3.2/configs/default.json
  10. 18 0
      ambari-server/src/test/python/stacks/1.3.2/configs/secured.json
  11. 6 6
      ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py
  12. 14 8
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py
  13. 16 10
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py
  14. 15 9
      ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py
  15. 32 0
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py
  16. 48 0
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
  17. 64 0
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
  18. 14 8
      ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py
  19. 16 10
      ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py
  20. 37 1
      ambari-server/src/test/python/stacks/2.0.6/configs/default.json
  21. 38 1
      ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
  22. 6 6
      ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py
  23. 37 1
      ambari-server/src/test/python/stacks/2.1.1/configs/default.json
  24. 36 0
      ambari-server/src/test/python/stacks/2.1.1/configs/secured.json

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

@@ -67,10 +67,13 @@ class TestHBaseClient(RMFTestCase):
       owner = 'hbase',
       template_tag = None,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
     self.assertNoMoreResources()
     
@@ -114,10 +117,13 @@ class TestHBaseClient(RMFTestCase):
       owner = 'hbase',
       template_tag = None,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
     self.assertNoMoreResources()
     

+ 15 - 9
ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_master.py

@@ -111,7 +111,7 @@ class TestHBaseMaster(RMFTestCase):
                    command = "configure",
                    config_file="secured.json"
     )
-    
+
     self.assert_configure_secured()
     self.assertNoMoreResources()
     
@@ -209,10 +209,13 @@ class TestHBaseMaster(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
   
   def assert_configure_secured(self):
@@ -265,8 +268,11 @@ class TestHBaseMaster(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )

+ 15 - 9
ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_regionserver.py

@@ -143,10 +143,13 @@ class TestHbaseRegionServer(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
   
   
@@ -200,8 +203,11 @@ class TestHbaseRegionServer(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
-    )
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
+    )

+ 32 - 0
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_client.py

@@ -56,6 +56,22 @@ class TestHiveClient(RMFTestCase):
       owner = 'hive',
       group = 'hadoop',
     )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
 
@@ -94,4 +110,20 @@ class TestHiveClient(RMFTestCase):
       owner = 'hive',
       group = 'hadoop',
     )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()

+ 64 - 0
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_metastore.py

@@ -29,6 +29,22 @@ class TestHiveMetastore(RMFTestCase):
                        config_file="default.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
   def test_start_default(self):
@@ -39,6 +55,22 @@ class TestHiveMetastore(RMFTestCase):
     )
 
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env HADOOP_HOME=/usr JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_metastore_script /var/log/hive/hive.out /var/log/hive/hive.log /var/run/hive/hive.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive.pid` >/dev/null 2>&1',
                               user = 'hive'
@@ -67,6 +99,22 @@ class TestHiveMetastore(RMFTestCase):
                        config_file="secured.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
   def test_start_secured(self):
@@ -77,6 +125,22 @@ class TestHiveMetastore(RMFTestCase):
     )
 
     self.assert_configure_secured()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env HADOOP_HOME=/usr JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_metastore_script /var/log/hive/hive.out /var/log/hive/hive.log /var/run/hive/hive.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive.pid` >/dev/null 2>&1',
                               user = 'hive'

+ 64 - 0
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_server.py

@@ -29,6 +29,22 @@ class TestHiveServer(RMFTestCase):
                        config_file="default.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
   
   def test_start_default(self):
@@ -39,6 +55,22 @@ class TestHiveServer(RMFTestCase):
     )
 
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_hiveserver2_script /var/log/hive/hive-server2.out /var/log/hive/hive-server2.log /var/run/hive/hive-server.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive-server.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive-server.pid` >/dev/null 2>&1',
                               user = 'hive'
@@ -68,6 +100,22 @@ class TestHiveServer(RMFTestCase):
                        config_file="secured.json"
     )
     self.assert_configure_secured()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
   def test_start_secured(self):
@@ -78,6 +126,22 @@ class TestHiveServer(RMFTestCase):
     )
 
     self.assert_configure_secured()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_hiveserver2_script /var/log/hive/hive-server2.out /var/log/hive/hive-server2.log /var/run/hive/hive-server.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive-server.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive-server.pid` >/dev/null 2>&1',
                               user = 'hive'

+ 14 - 8
ambari-server/src/test/python/stacks/1.3.2/ZOOKEEPER/test_zookeeper_client.py

@@ -64,10 +64,13 @@ class TestZookeeperClient(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
     )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zoo_sample.cfg',
       owner = 'zookeeper',
@@ -118,10 +121,13 @@ class TestZookeeperClient(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
     )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zookeeper_client_jaas.conf',
       owner = 'zookeeper',

+ 14 - 8
ambari-server/src/test/python/stacks/1.3.2/ZOOKEEPER/test_zookeeper_server.py

@@ -139,10 +139,13 @@ class TestZookeeperServer(RMFTestCase):
       content = '1',
       mode = 420,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
     )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zoo_sample.cfg',
       owner = 'zookeeper',
@@ -190,10 +193,13 @@ class TestZookeeperServer(RMFTestCase):
       content = '1',
       mode = 420,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
     )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zookeeper_jaas.conf',
       owner = 'zookeeper',

+ 18 - 0
ambari-server/src/test/python/stacks/1.3.2/configs/default.json

@@ -347,6 +347,24 @@
             "hive.auto.convert.sortmerge.join.noconditionaltask": "true", 
             "hive.server2.enable.doAs": "true", 
             "hive.optimize.mapjoin.mapreduce": "true"
+        },
+        "hdfs-log4j": {
+            "property1": "value1"
+        },
+        "yarn-log4j": {
+            "property1": "value1"
+        },
+        "hbase-log4j": {
+            "property1": "value1"
+        },
+        "hive-log4j": {
+            "property1": "value1"
+        },
+        "hive-exec-log4j": {
+            "property1": "value1"
+        },
+        "zookeeper-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {

+ 18 - 0
ambari-server/src/test/python/stacks/1.3.2/configs/secured.json

@@ -452,6 +452,24 @@
             "hive.server2.enable.doAs": "true", 
             "hive.optimize.mapjoin.mapreduce": "true", 
             "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab"
+        },
+        "hdfs-log4j": {
+            "property1": "value1"
+        },
+        "yarn-log4j": {
+            "property1": "value1"
+        },
+        "hbase-log4j": {
+            "property1": "value1"
+        },
+        "hive-log4j": {
+            "property1": "value1"
+        },
+        "hive-exec-log4j": {
+            "property1": "value1"
+        },
+        "zookeeper-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {

+ 6 - 6
ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py

@@ -96,13 +96,13 @@ class TestHookBeforeStart(RMFTestCase):
                               content = Template('health_check.j2'),
                               owner = 'hdfs',
                               )
-    
-    self.assertResourceCalled('File', '/etc/hadoop/conf/log4j.properties',
-                              owner = 'hdfs',
-                              group = 'hadoop',
-                              mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              '/etc/hadoop/conf/log4j.properties',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hdfs',
+                              group='hadoop'
     )
-  
     self.assertResourceCalled('Execute', "sed -i 's~\\(###\\)\\?ambari.jobhistory.driver=.*~ambari.jobhistory.driver=org.postgresql.Driver~' /etc/hadoop/conf/log4j.properties",
     )
     self.assertResourceCalled('Execute', "sed -i 's~\\(###\\)\\?log4j.appender.JHA=.*~log4j.appender.JHA=org.apache.ambari.log4j.hadoop.mapreduce.jobhistory.JobHistoryAppender~' /etc/hadoop/conf/log4j.properties",

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

@@ -67,10 +67,13 @@ class TestHBaseClient(RMFTestCase):
       owner = 'hbase',
       template_tag = None,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
     self.assertNoMoreResources()
     
@@ -114,10 +117,13 @@ class TestHBaseClient(RMFTestCase):
       owner = 'hbase',
       template_tag = None,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
     self.assertNoMoreResources()
     

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

@@ -31,7 +31,7 @@ class TestHBaseMaster(RMFTestCase):
     
     self.assert_configure_default()
     self.assertNoMoreResources()
-    
+
   def test_start_default(self):
     self.executeScript("2.0.6/services/HBASE/package/scripts/hbase_master.py",
                    classname = "HbaseMaster",
@@ -209,10 +209,13 @@ class TestHBaseMaster(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
   
   def assert_configure_secured(self):
@@ -265,8 +268,11 @@ class TestHBaseMaster(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
-    )
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
+    )

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

@@ -142,10 +142,13 @@ class TestHbaseRegionServer(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
     )
   
   def assert_configure_secured(self):
@@ -198,8 +201,11 @@ class TestHbaseRegionServer(RMFTestCase):
       owner = 'hbase',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/hbase/conf/log4j.properties',
-      owner = 'hbase',
-      group = 'hadoop',
-      mode = 420,
-    )
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/hbase/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hbase',
+                              group='hadoop'
+    )

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

@@ -57,6 +57,22 @@ class TestHiveClient(RMFTestCase):
       owner = 'hive',
       group = 'hadoop',
     )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
 
@@ -96,4 +112,20 @@ class TestHiveClient(RMFTestCase):
       owner = 'hive',
       group = 'hadoop',
     )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()

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

@@ -38,6 +38,22 @@ class TestHiveMetastore(RMFTestCase):
     )
 
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env HADOOP_HOME=/usr JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_metastore_script /var/log/hive/hive.out /var/log/hive/hive.log /var/run/hive/hive.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive.pid` >/dev/null 2>&1',
                               user = 'hive'
@@ -66,6 +82,22 @@ class TestHiveMetastore(RMFTestCase):
                        config_file="secured.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
   def test_start_secured(self):
@@ -76,6 +108,22 @@ class TestHiveMetastore(RMFTestCase):
     )
 
     self.assert_configure_secured()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env HADOOP_HOME=/usr JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_metastore_script /var/log/hive/hive.out /var/log/hive/hive.log /var/run/hive/hive.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive.pid` >/dev/null 2>&1',
                               user = 'hive'

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

@@ -29,6 +29,22 @@ class TestHiveServer(RMFTestCase):
                        config_file="default.json"
     )
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
   
   def test_start_default(self):
@@ -39,6 +55,22 @@ class TestHiveServer(RMFTestCase):
     )
 
     self.assert_configure_default()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_hiveserver2_script /var/log/hive/hive-server2.out /var/log/hive/hive-server2.log /var/run/hive/hive-server.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive-server.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive-server.pid` >/dev/null 2>&1',
                               user = 'hive'
@@ -68,6 +100,22 @@ class TestHiveServer(RMFTestCase):
                        config_file="secured.json"
     )
     self.assert_configure_secured()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertNoMoreResources()
 
   def test_start_secured(self):
@@ -78,6 +126,22 @@ class TestHiveServer(RMFTestCase):
     )
 
     self.assert_configure_secured()
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-exec-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
+    self.assertResourceCalled('PropertiesFile',
+                              'hive-log4j.properties',
+                              dir='/etc/hive/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hive',
+                              group='hadoop'
+    )
     self.assertResourceCalled('Execute', 'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 /tmp/start_hiveserver2_script /var/log/hive/hive-server2.out /var/log/hive/hive-server2.log /var/run/hive/hive-server.pid /etc/hive/conf.server',
                               not_if = 'ls /var/run/hive/hive-server.pid >/dev/null 2>&1 && ps `cat /var/run/hive/hive-server.pid` >/dev/null 2>&1',
                               user = 'hive'

+ 14 - 8
ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_client.py

@@ -65,10 +65,13 @@ class TestZookeeperClient(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
     )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zoo_sample.cfg',
       owner = 'zookeeper',
@@ -119,10 +122,13 @@ class TestZookeeperClient(RMFTestCase):
       group = 'hadoop',
       recursive = True,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
     )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zookeeper_client_jaas.conf',
       owner = 'zookeeper',

+ 16 - 10
ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py

@@ -136,11 +136,14 @@ class TestZookeeperServer(RMFTestCase):
       content = '1',
       mode = 420,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
-    ) 
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
+    )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zoo_sample.cfg',
       owner = 'zookeeper',
       group = 'hadoop',
@@ -186,11 +189,14 @@ class TestZookeeperServer(RMFTestCase):
       content = '1',
       mode = 420,
     )
-    self.assertResourceCalled('File', '/etc/zookeeper/conf/log4j.properties',
-      owner = 'zookeeper',
-      group = 'hadoop',
-      mode = 420,
-    ) 
+    self.assertResourceCalled('PropertiesFile',
+                              'log4j.properties',
+                              dir='/etc/zookeeper/conf',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='zookeeper',
+                              group='hadoop'
+    )
     self.assertResourceCalled('File', '/etc/zookeeper/conf/zookeeper_jaas.conf',
       owner = 'zookeeper',
       content = Template('zookeeper_jaas.conf.j2'),

+ 37 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/default.json

@@ -488,8 +488,26 @@
             "tez.lib.uris": "file:///usr/lib/tez/,file:///usr/lib/tez/lib/",
             "tez.staging-dir": "/tmp/${user.name}/staging",
             "tez.am.am-rm.heartbeat.interval-ms.max": "250"
+        },
+        "hdfs-log4j": {
+            "property1": "value1"
+        },
+        "yarn-log4j": {
+            "property1": "value1"
+        },
+        "hbase-log4j": {
+            "property1": "value1"
+        },
+        "hive-log4j": {
+            "property1": "value1"
+        },
+        "hive-exec-log4j": {
+            "property1": "value1"
+        },
+        "zookeeper-log4j": {
+            "property1": "value1"
         }
-    }, 
+    },
     "configurationTags": {
         "capacity-scheduler": {
             "tag": "version1"
@@ -523,6 +541,24 @@
         }, 
         "hive-site": {
             "tag": "version1"
+        },
+        "hdfs-log4j": {
+            "tag": "version1"
+        },
+        "yarn-log4j": {
+            "tag": "version1"
+        },
+        "hbase-log4j": {
+            "tag": "version1"
+        },
+        "hive-log4j": {
+            "tag": "version1"
+        },
+        "hive-exec-log4j": {
+            "tag": "version1"
+        },
+        "zookeeper-log4j": {
+            "tag": "version1"
         }
     }, 
     "commandId": "7-1", 

+ 38 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/secured.json

@@ -615,6 +615,24 @@
             "yarn.resourcemanager.webapp.spnego-keytab-file": "/etc/security/keytabs/spnego.service.keytab", 
             "yarn.resourcemanager.keytab": "/etc/security/keytabs/rm.service.keytab", 
             "yarn.nodemanager.aux-services.mapreduce_shuffle.class": "org.apache.hadoop.mapred.ShuffleHandler"
+        },
+        "hdfs-log4j": {
+            "property1": "value1"
+        },
+        "yarn-log4j": {
+            "property1": "value1"
+        },
+        "hbase-log4j": {
+            "property1": "value1"
+        },
+        "hive-log4j": {
+            "property1": "value1"
+        },
+        "hive-exec-log4j": {
+            "property1": "value1"
+        },
+        "zookeeper-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {
@@ -650,8 +668,27 @@
         }, 
         "hive-site": {
             "tag": "version1389972945450"
+        },
+        "hdfs-log4j": {
+            "tag": "version1389972945450"
+        },
+        "yarn-log4j": {
+            "tag": "version1389972945450"
+        },
+        "hbase-log4j": {
+            "tag": "version1389972945450"
+        },
+        "hive-log4j": {
+            "tag": "version1389972945450"
+        },
+        "hive-exec-log4j": {
+            "tag": "version1389972945450"
+        },
+        "zookeeper-log4j": {
+            "tag": "version1389972945450"
         }
-    }, 
+
+    },
     "commandId": "9-1", 
     "clusterHostInfo": {
         "snamenode_host": [

+ 6 - 6
ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py

@@ -100,13 +100,13 @@ class TestHookBeforeStart(RMFTestCase):
                               content = Template('health_check-v2.j2'),
                               owner = 'hdfs',
                               )
-    
-    self.assertResourceCalled('File', '/etc/hadoop/conf/log4j.properties',
-                              owner = 'hdfs',
-                              group = 'hadoop',
-                              mode = 420,
+    self.assertResourceCalled('PropertiesFile',
+                              '/etc/hadoop/conf/log4j.properties',
+                              properties={'property1': 'value1'},
+                              mode=0664,
+                              owner='hdfs',
+                              group='hadoop'
     )
-  
     self.assertResourceCalled('Execute', "sed -i 's~\\(###\\)\\?ambari.jobhistory.driver=.*~###ambari.jobhistory.driver=o~' /etc/hadoop/conf/log4j.properties",
                               )
     self.assertResourceCalled('Execute', "sed -i 's~\\(###\\)\\?log4j.appender.JHA=.*~###log4j.appender.JHA=org.apache.ambari.log4j.hadoop.mapreduce.jobhistory.JobHistoryAppender~' /etc/hadoop/conf/log4j.properties",

+ 37 - 1
ambari-server/src/test/python/stacks/2.1.1/configs/default.json

@@ -488,8 +488,26 @@
             "tez.lib.uris": "file:///usr/lib/tez/,file:///usr/lib/tez/lib/",
             "tez.staging-dir": "/tmp/${user.name}/staging",
             "tez.am.am-rm.heartbeat.interval-ms.max": "250"
+        },
+        "hdfs-log4j": {
+            "property1": "value1"
+        },
+        "yarn-log4j": {
+            "property1": "value1"
+        },
+        "hbase-log4j": {
+            "property1": "value1"
+        },
+        "hive-log4j": {
+            "property1": "value1"
+        },
+        "hive-exec-log4j": {
+            "property1": "value1"
+        },
+        "zookeeper-log4j": {
+            "property1": "value1"
         }
-    }, 
+    },
     "configurationTags": {
         "capacity-scheduler": {
             "tag": "version1"
@@ -523,6 +541,24 @@
         }, 
         "hive-site": {
             "tag": "version1"
+        },
+        "hdfs-log4j": {
+            "tag": "version1"
+        },
+        "yarn-log4j": {
+            "tag": "version1"
+        },
+        "hbase-log4j": {
+            "tag": "version1"
+        },
+        "hive-log4j": {
+            "tag": "version1"
+        },
+        "hive-exec-log4j": {
+            "tag": "version1"
+        },
+        "zookeeper-log4j": {
+            "tag": "version1"
         }
     }, 
     "commandId": "7-1", 

+ 36 - 0
ambari-server/src/test/python/stacks/2.1.1/configs/secured.json

@@ -615,6 +615,24 @@
             "yarn.resourcemanager.webapp.spnego-keytab-file": "/etc/security/keytabs/spnego.service.keytab", 
             "yarn.resourcemanager.keytab": "/etc/security/keytabs/rm.service.keytab", 
             "yarn.nodemanager.aux-services.mapreduce_shuffle.class": "org.apache.hadoop.mapred.ShuffleHandler"
+        },
+        "hdfs-log4j": {
+            "property1": "value1"
+        },
+        "yarn-log4j": {
+            "property1": "value1"
+        },
+        "hbase-log4j": {
+            "property1": "value1"
+        },
+        "hive-log4j": {
+            "property1": "value1"
+        },
+        "hive-exec-log4j": {
+            "property1": "value1"
+        },
+        "zookeeper-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {
@@ -650,6 +668,24 @@
         }, 
         "hive-site": {
             "tag": "version1389972945450"
+        },
+        "hdfs-log4j": {
+            "tag": "version1389972945450"
+        },
+        "yarn-log4j": {
+            "tag": "version1389972945450"
+        },
+        "hbase-log4j": {
+            "tag": "version1389972945450"
+        },
+        "hive-log4j": {
+            "tag": "version1389972945450"
+        },
+        "hive-exec-log4j": {
+            "tag": "version1389972945450"
+        },
+        "zookeeper-log4j": {
+            "tag": "version1389972945450"
         }
     }, 
     "commandId": "9-1",