AMBARI-21619. More ResourceManager HA host group placeholders in blueprints


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

Branch: refs/heads/branch-feature-AMBARI-14714
Commit: 0eee38e7cd612cb6d57352b32074beed9b115b39
Parents: 11aadf5
Author: Attila Doroszlai <adorosz...@hortonworks.com>
Authored: Tue Aug 1 14:22:37 2017 +0200
Committer: Attila Doroszlai <adorosz...@hortonworks.com>
Committed: Tue Aug 1 14:22:37 2017 +0200

----------------------------------------------------------------------
 .../BlueprintConfigurationProcessor.java        | 18 +++++------
 .../BlueprintConfigurationProcessorTest.java    | 34 +++++++++++++-------
 2 files changed, 31 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/0eee38e7/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
index 46ace32..34102b6 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
@@ -917,14 +917,14 @@ public class BlueprintConfigurationProcessor {
     Map<String, String> yarnSiteConfig = 
clusterTopology.getConfiguration().getFullProperties().get("yarn-site");
     // generate the property names based on the current HA config for the 
ResourceManager deployments
     for (String resourceManager : parseResourceManagers(yarnSiteConfig)) {
-      final String rmHostPropertyName = "yarn.resourcemanager.hostname." + 
resourceManager;
-      yarnSiteUpdatersForAvailability.put(rmHostPropertyName, new 
SingleHostTopologyUpdater("RESOURCEMANAGER"));
-
-      final String rmHTTPAddress = "yarn.resourcemanager.webapp.address." + 
resourceManager;
-      yarnSiteUpdatersForAvailability.put(rmHTTPAddress, new 
SingleHostTopologyUpdater("RESOURCEMANAGER"));
-
-      final String rmHTTPSAddress = 
"yarn.resourcemanager.webapp.https.address." + resourceManager;
-      yarnSiteUpdatersForAvailability.put(rmHTTPSAddress, new 
SingleHostTopologyUpdater("RESOURCEMANAGER"));
+      SingleHostTopologyUpdater updater = new 
SingleHostTopologyUpdater("RESOURCEMANAGER");
+      yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.hostname." + 
resourceManager, updater);
+      yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.address." + 
resourceManager, updater);
+      
yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.admin.address." + 
resourceManager, updater);
+      
yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.resource-tracker.address."
 + resourceManager, updater);
+      
yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.scheduler.address." + 
resourceManager, updater);
+      
yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.webapp.address." + 
resourceManager, updater);
+      
yarnSiteUpdatersForAvailability.put("yarn.resourcemanager.webapp.https.address."
 + resourceManager, updater);
     }
 
     return highAvailabilityUpdaters;
@@ -1371,7 +1371,7 @@ public class BlueprintConfigurationProcessor {
     /**
      * Component name
      */
-    private String component;
+    private final String component;
 
     /**
      * Constructor.

http://git-wip-us.apache.org/repos/asf/ambari/blob/0eee38e7/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
index 8a55136..34cd8a5 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
@@ -3406,6 +3406,14 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     yarnSiteProperties.put("yarn.resourcemanager.ha.rm-ids", "rm1, rm2");
     yarnSiteProperties.put("yarn.resourcemanager.hostname.rm1", 
expectedHostName);
     yarnSiteProperties.put("yarn.resourcemanager.hostname.rm2", 
expectedHostNameTwo);
+    yarnSiteProperties.put("yarn.resourcemanager.address.rm1", 
expectedHostName + ":" + expectedPortNum);
+    yarnSiteProperties.put("yarn.resourcemanager.address.rm2", 
expectedHostNameTwo + ":" + expectedPortNum);
+    yarnSiteProperties.put("yarn.resourcemanager.admin.address.rm1", 
expectedHostName + ":" + expectedPortNum);
+    yarnSiteProperties.put("yarn.resourcemanager.admin.address.rm2", 
expectedHostNameTwo + ":" + expectedPortNum);
+    
yarnSiteProperties.put("yarn.resourcemanager.resource-tracker.address.rm1", 
expectedHostName + ":" + expectedPortNum);
+    
yarnSiteProperties.put("yarn.resourcemanager.resource-tracker.address.rm2", 
expectedHostNameTwo + ":" + expectedPortNum);
+    yarnSiteProperties.put("yarn.resourcemanager.scheduler.address.rm1", 
expectedHostName + ":" + expectedPortNum);
+    yarnSiteProperties.put("yarn.resourcemanager.scheduler.address.rm2", 
expectedHostNameTwo + ":" + expectedPortNum);
     yarnSiteProperties.put("yarn.resourcemanager.webapp.address.rm1", 
expectedHostName + ":" + expectedPortNum);
     yarnSiteProperties.put("yarn.resourcemanager.webapp.address.rm2", 
expectedHostNameTwo + ":" + expectedPortNum);
     yarnSiteProperties.put("yarn.resourcemanager.webapp.https.address.rm1", 
expectedHostName + ":" + expectedPortNum);
@@ -3458,18 +3466,20 @@ public class BlueprintConfigurationProcessorTest 
extends EasyMockSupport {
       createExportedHostName(expectedHostGroupName, expectedPortNum), 
yarnSiteProperties.get("yarn.timeline-service.webapp.https.address"));
 
     // verify that dynamically-named RM HA properties are exported as expected
-    assertEquals("Yarn ResourceManager rm1 hostname not exported properly",
-      createExportedHostName(expectedHostGroupName), 
yarnSiteProperties.get("yarn.resourcemanager.hostname.rm1"));
-    assertEquals("Yarn ResourceManager rm2 hostname not exported properly",
-      createExportedHostName(expectedHostGroupNameTwo), 
yarnSiteProperties.get("yarn.resourcemanager.hostname.rm2"));
-    assertEquals("Yarn ResourceManager rm1 web address not exported properly",
-      createExportedHostName(expectedHostGroupName, expectedPortNum), 
yarnSiteProperties.get("yarn.resourcemanager.webapp.address.rm1"));
-    assertEquals("Yarn ResourceManager rm2 web address not exported properly",
-      createExportedHostName(expectedHostGroupNameTwo, expectedPortNum), 
yarnSiteProperties.get("yarn.resourcemanager.webapp.address.rm2"));
-    assertEquals("Yarn ResourceManager rm1 HTTPS address not exported 
properly",
-      createExportedHostName(expectedHostGroupName, expectedPortNum), 
yarnSiteProperties.get("yarn.resourcemanager.webapp.https.address.rm1"));
-    assertEquals("Yarn ResourceManager rm2 HTTPS address not exported 
properly",
-      createExportedHostName(expectedHostGroupNameTwo, expectedPortNum), 
yarnSiteProperties.get("yarn.resourcemanager.webapp.https.address.rm2"));
+    List<String> properties = Arrays.asList(
+      "yarn.resourcemanager.address",
+      "yarn.resourcemanager.admin.address",
+      "yarn.resourcemanager.resource-tracker.address",
+      "yarn.resourcemanager.scheduler.address",
+      "yarn.resourcemanager.webapp.address",
+      "yarn.resourcemanager.webapp.https.address"
+    );
+    for (String property : properties) {
+      String propertyWithID = property + ".rm1";
+      assertEquals(propertyWithID, 
createExportedHostName(expectedHostGroupName, expectedPortNum), 
yarnSiteProperties.get(propertyWithID));
+      propertyWithID = property + ".rm2";
+      assertEquals(propertyWithID, 
createExportedHostName(expectedHostGroupNameTwo, expectedPortNum), 
yarnSiteProperties.get(propertyWithID));
+    }
 
     assertEquals("Yarn Zookeeper address property not exported properly",
       createExportedHostName(expectedHostGroupName, "2181") + "," + 
createExportedHostName(expectedHostGroupNameTwo, "2181"),

Reply via email to