Browse Source

AMBARI-17734. Namenode host incorrectly assigned for Ranger Atlas HDFS audit (Gautam Borad via alejandro)

Alejandro Fernandez 9 years ago
parent
commit
845a729fbc

+ 4 - 1
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java

@@ -2300,6 +2300,7 @@ public class BlueprintConfigurationProcessor {
     Map<String, PropertyUpdater> rangerKnoxAuditPropsMap = new HashMap<String, PropertyUpdater>();
     Map<String, PropertyUpdater> rangerKafkaAuditPropsMap = new HashMap<String, PropertyUpdater>();
     Map<String, PropertyUpdater> rangerStormAuditPropsMap = new HashMap<String, PropertyUpdater>();
+    Map<String, PropertyUpdater> rangerAtlasAuditPropsMap = new HashMap<String, PropertyUpdater>();
     Map<String, PropertyUpdater> hawqSiteMap = new HashMap<String, PropertyUpdater>();
     Map<String, PropertyUpdater> zookeeperEnvMap = new HashMap<String, PropertyUpdater>();
 
@@ -2328,6 +2329,7 @@ public class BlueprintConfigurationProcessor {
     singleHostTopologyUpdaters.put("ranger-knox-audit", rangerKnoxAuditPropsMap);
     singleHostTopologyUpdaters.put("ranger-kafka-audit", rangerKafkaAuditPropsMap);
     singleHostTopologyUpdaters.put("ranger-storm-audit", rangerStormAuditPropsMap);
+    singleHostTopologyUpdaters.put("ranger-atlas-audit", rangerAtlasAuditPropsMap);
     singleHostTopologyUpdaters.put("hadoop-env", shHadoopEnvMap);
 
     singleHostTopologyUpdaters.put("hawq-site", hawqSiteMap);
@@ -2624,7 +2626,8 @@ public class BlueprintConfigurationProcessor {
       rangerHiveAuditPropsMap,
       rangerKnoxAuditPropsMap,
       rangerKafkaAuditPropsMap,
-      rangerStormAuditPropsMap
+      rangerStormAuditPropsMap,
+      rangerAtlasAuditPropsMap
     );
     for (Map<String, PropertyUpdater> rangerAuditPropsMap: configsWithRangerHdfsAuditDirProperty) {
       rangerAuditPropsMap.put("xasecure.audit.destination.hdfs.dir", new OptionalSingleHostTopologyUpdater("NAMENODE"));

+ 2 - 4
ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py

@@ -1637,10 +1637,8 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
         else:
           xasecure_audit_destination_hdfs = services['configurations']['ranger-env']['properties']['xasecure.audit.destination.hdfs']
 
-        if 'xasecure.audit.destination.hdfs.dir' in configurations['ranger-env']['properties']:
-          xasecure_audit_destination_hdfs_dir = configurations['ranger-env']['properties']['xasecure.audit.destination.hdfs.dir']
-        else:
-          xasecure_audit_destination_hdfs_dir = services['configurations']['ranger-env']['properties']['xasecure.audit.destination.hdfs.dir']
+        if 'core-site' in services['configurations'] and ('fs.defaultFS' in services['configurations']['core-site']['properties']):
+          xasecure_audit_destination_hdfs_dir = '{0}/{1}/{2}'.format(services['configurations']['core-site']['properties']['fs.defaultFS'] ,'ranger','audit')
 
         if 'xasecure.audit.destination.solr' in configurations['ranger-env']['properties']:
           xasecure_audit_destination_solr = configurations['ranger-env']['properties']['xasecure.audit.destination.solr']

+ 18 - 6
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java

@@ -6392,7 +6392,8 @@ public class BlueprintConfigurationProcessorTest {
       "ranger-hive-audit",
       "ranger-knox-audit",
       "ranger-kafka-audit",
-      "ranger-storm-audit"
+      "ranger-storm-audit",
+      "ranger-atlas-audit"
     );
     Map<String, Map<String, String>> clusterConfigProperties = new HashMap<>();
 
@@ -6443,6 +6444,7 @@ public class BlueprintConfigurationProcessorTest {
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-knox-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-kafka-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-storm-audit", "xasecure.audit.destination.hdfs.dir"));
+    assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-atlas-audit", "xasecure.audit.destination.hdfs.dir"));
   }
 
   @Test
@@ -6456,7 +6458,8 @@ public class BlueprintConfigurationProcessorTest {
       "ranger-hive-audit",
       "ranger-knox-audit",
       "ranger-kafka-audit",
-      "ranger-storm-audit"
+      "ranger-storm-audit",
+      "ranger-atlas-audit"
     );
     Map<String, Map<String, String>> clusterConfigProperties = new HashMap<>();
 
@@ -6500,6 +6503,7 @@ public class BlueprintConfigurationProcessorTest {
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-knox-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-kafka-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-storm-audit", "xasecure.audit.destination.hdfs.dir"));
+    assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-atlas-audit", "xasecure.audit.destination.hdfs.dir"));
   }
 
 
@@ -6514,7 +6518,8 @@ public class BlueprintConfigurationProcessorTest {
       "ranger-hive-audit",
       "ranger-knox-audit",
       "ranger-kafka-audit",
-      "ranger-storm-audit"
+      "ranger-storm-audit",
+      "ranger-atlas-audit"
     );
     Map<String, Map<String, String>> clusterConfigProperties = new HashMap<>();
 
@@ -6564,6 +6569,7 @@ public class BlueprintConfigurationProcessorTest {
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-knox-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-kafka-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-storm-audit", "xasecure.audit.destination.hdfs.dir"));
+    assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-atlas-audit", "xasecure.audit.destination.hdfs.dir"));
   }
 
 
@@ -6578,7 +6584,8 @@ public class BlueprintConfigurationProcessorTest {
       "ranger-hive-audit",
       "ranger-knox-audit",
       "ranger-kafka-audit",
-      "ranger-storm-audit"
+      "ranger-storm-audit",
+      "ranger-atlas-audit"
     );
     Map<String, Map<String, String>> clusterConfigProperties = new HashMap<>();
 
@@ -6636,6 +6643,7 @@ public class BlueprintConfigurationProcessorTest {
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-knox-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-kafka-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-storm-audit", "xasecure.audit.destination.hdfs.dir"));
+    assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-atlas-audit", "xasecure.audit.destination.hdfs.dir"));
   }
 
 
@@ -6650,7 +6658,8 @@ public class BlueprintConfigurationProcessorTest {
       "ranger-hive-audit",
       "ranger-knox-audit",
       "ranger-kafka-audit",
-      "ranger-storm-audit"
+      "ranger-storm-audit",
+      "ranger-atlas-audit"
     );
     Map<String, Map<String, String>> clusterConfigProperties = new HashMap<>();
 
@@ -6700,6 +6709,7 @@ public class BlueprintConfigurationProcessorTest {
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-knox-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-kafka-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-storm-audit", "xasecure.audit.destination.hdfs.dir"));
+    assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-atlas-audit", "xasecure.audit.destination.hdfs.dir"));
   }
 
   @Test
@@ -6713,7 +6723,8 @@ public class BlueprintConfigurationProcessorTest {
       "ranger-hive-audit",
       "ranger-knox-audit",
       "ranger-kafka-audit",
-      "ranger-storm-audit"
+      "ranger-storm-audit",
+      "ranger-atlas-audit"
     );
     Map<String, Map<String, String>> clusterConfigProperties = new HashMap<>();
 
@@ -6770,6 +6781,7 @@ public class BlueprintConfigurationProcessorTest {
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-knox-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-kafka-audit", "xasecure.audit.destination.hdfs.dir"));
     assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-storm-audit", "xasecure.audit.destination.hdfs.dir"));
+    assertEquals(expectedAuditHdfsDir, clusterConfig.getPropertyValue("ranger-atlas-audit", "xasecure.audit.destination.hdfs.dir"));
   }
 
   @Test