AMBARI-7588. Slider View: Properties required by Slider View when RM HA is 
enabled - null HA params fix (srimanth)


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

Branch: refs/heads/branch-alerts-dev
Commit: b10cb648cf5593ded61e9f4588a8319826bfece7
Parents: 5e549b9
Author: Srimanth Gunturi <[email protected]>
Authored: Wed Oct 1 16:55:12 2014 -0700
Committer: Srimanth Gunturi <[email protected]>
Committed: Wed Oct 1 16:55:12 2014 -0700

----------------------------------------------------------------------
 .../slider/SliderAppsViewControllerImpl.java    | 44 ++++++++++++--------
 1 file changed, 26 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/b10cb648/contrib/views/slider/src/main/java/org/apache/ambari/view/slider/SliderAppsViewControllerImpl.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/java/org/apache/ambari/view/slider/SliderAppsViewControllerImpl.java
 
b/contrib/views/slider/src/main/java/org/apache/ambari/view/slider/SliderAppsViewControllerImpl.java
index 0bf8b9b..3829155 100644
--- 
a/contrib/views/slider/src/main/java/org/apache/ambari/view/slider/SliderAppsViewControllerImpl.java
+++ 
b/contrib/views/slider/src/main/java/org/apache/ambari/view/slider/SliderAppsViewControllerImpl.java
@@ -128,7 +128,7 @@ public class SliderAppsViewControllerImpl implements 
SliderAppsViewController {
   }
 
   private String getUserToRunAs() {
-    String user = viewContext.getProperties().get(PROPERTY_SLIDER_USER);
+    String user = getViewParameterValue(PROPERTY_SLIDER_USER);
     if (user == null || user.trim().length() < 1) {
       return "yarn";
     } else if ("${username}".equals(user)) {
@@ -142,11 +142,11 @@ public class SliderAppsViewControllerImpl implements 
SliderAppsViewController {
     ClassLoader currentClassLoader = 
Thread.currentThread().getContextClassLoader();
     Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
     try {
-      boolean securityEnabled = 
Boolean.valueOf(viewContext.getProperties().get(PROPERTY_SLIDER_SECURITY_ENABLED));
+      boolean securityEnabled = 
Boolean.valueOf(getViewParameterValue(PROPERTY_SLIDER_SECURITY_ENABLED));
       UserGroupInformation sliderUser;
       if (securityEnabled) {
-        String viewPrincipal = 
viewContext.getProperties().get(PROPERTY_VIEW_PRINCIPAL);
-        String viewPrincipalKeytab = 
viewContext.getProperties().get(PROPERTY_VIEW_PRINCIPAL_KEYTAB);
+        String viewPrincipal = getViewParameterValue(PROPERTY_VIEW_PRINCIPAL);
+        String viewPrincipalKeytab = 
getViewParameterValue(PROPERTY_VIEW_PRINCIPAL_KEYTAB);
         UserGroupInformation ambariUser = 
UserGroupInformation.loginUserFromKeytabAndReturnUGI(viewPrincipal, 
viewPrincipalKeytab);
         sliderUser = UserGroupInformation.createProxyUser(getUserToRunAs(), 
ambariUser);
       } else {
@@ -455,6 +455,14 @@ public class SliderAppsViewControllerImpl implements 
SliderAppsViewController {
     sliderClient = null;
   }
 
+  private String getViewParameterValue(String parameterName) {
+    String value = viewContext.getProperties().get(parameterName);
+    if ("null".equals(value)) {
+      return null;
+    }
+    return value;
+  }
+
   /**
    * Dynamically determines Slider client configuration. If unable to 
determine,
    * <code>null</code> is returned.
@@ -462,14 +470,14 @@ public class SliderAppsViewControllerImpl implements 
SliderAppsViewController {
    * @return
    */
   private Configuration getSliderClientConfiguration() {
-    String hdfsPath = viewContext.getProperties().get(PROPERTY_HDFS_ADDRESS);
-    String rmAddress = 
viewContext.getProperties().get(PROPERTY_YARN_RM_ADDRESS);
-    String rmSchedulerAddress = 
viewContext.getProperties().get(PROPERTY_YARN_RM_SCHEDULER_ADDRESS);
-    String zkQuorum = viewContext.getProperties().get(PROPERTY_ZK_QUOROM);
-    boolean securedCluster = 
Boolean.valueOf(viewContext.getProperties().get(PROPERTY_SLIDER_SECURITY_ENABLED));
-    String rmHAHosts = 
viewContext.getProperties().get(PROPERTY_YARN_RM_HA_HOSTS);
-    String rmStoreClass = 
viewContext.getProperties().get(PROPERTY_YARN_RM_STORE_CLASS);
-    String rmHAAutoFailoverPath = 
viewContext.getProperties().get(PROPERTY_YARN_RM_HA_AUTO_FAILOVER_ZKPATH);
+    String hdfsPath = getViewParameterValue(PROPERTY_HDFS_ADDRESS);
+    String rmAddress = getViewParameterValue(PROPERTY_YARN_RM_ADDRESS);
+    String rmSchedulerAddress = 
getViewParameterValue(PROPERTY_YARN_RM_SCHEDULER_ADDRESS);
+    String zkQuorum = getViewParameterValue(PROPERTY_ZK_QUOROM);
+    boolean securedCluster = 
Boolean.valueOf(getViewParameterValue(PROPERTY_SLIDER_SECURITY_ENABLED));
+    String rmHAHosts = getViewParameterValue(PROPERTY_YARN_RM_HA_HOSTS);
+    String rmStoreClass = getViewParameterValue(PROPERTY_YARN_RM_STORE_CLASS);
+    String rmHAAutoFailoverPath = 
getViewParameterValue(PROPERTY_YARN_RM_HA_AUTO_FAILOVER_ZKPATH);
 
     HdfsConfiguration hdfsConfig = new HdfsConfiguration();
     YarnConfiguration yarnConfig = new YarnConfiguration(hdfsConfig);
@@ -484,8 +492,8 @@ public class SliderAppsViewControllerImpl implements 
SliderAppsViewController {
             
"/etc/hadoop/conf,/usr/hdp/current/hadoop/*,/usr/hdp/current/hadoop/lib/*,/usr/hdp/current/hadoop-hdfs/*,/usr/hdp/current/hadoop-hdfs/lib/*,/usr/hdp/current/hadoop-yarn/*,/usr/hdp/current/hadoop-yarn/lib/*,/usr/hdp/current/hadoop-mapreduce/*,/usr/hdp/current/hadoop-mapreduce/lib/*");
 
     if (securedCluster) {
-      String rmPrincipal = 
viewContext.getProperties().get(PROPERTY_YARN_RM_PRINCIPAL);
-      String nnPrincipal = 
viewContext.getProperties().get(PROPERTY_HDFS_NN_PRINCIPAL);
+      String rmPrincipal = getViewParameterValue(PROPERTY_YARN_RM_PRINCIPAL);
+      String nnPrincipal = getViewParameterValue(PROPERTY_HDFS_NN_PRINCIPAL);
       yarnConfig.set("yarn.resourcemanager.principal", rmPrincipal);
       yarnConfig.set("dfs.namenode.kerberos.principal", nnPrincipal);
       yarnConfig.set("hadoop.security.authorization", "true");
@@ -530,10 +538,10 @@ public class SliderAppsViewControllerImpl implements 
SliderAppsViewController {
   }
 
   private boolean areViewParametersSet() {
-    String hdfsPath = viewContext.getProperties().get(PROPERTY_HDFS_ADDRESS);
-    String rmAddress = 
viewContext.getProperties().get(PROPERTY_YARN_RM_ADDRESS);
-    String rmSchedulerAddress = 
viewContext.getProperties().get(PROPERTY_YARN_RM_SCHEDULER_ADDRESS);
-    String zkQuorum = viewContext.getProperties().get(PROPERTY_ZK_QUOROM);
+    String hdfsPath = getViewParameterValue(PROPERTY_HDFS_ADDRESS);
+    String rmAddress = getViewParameterValue(PROPERTY_YARN_RM_ADDRESS);
+    String rmSchedulerAddress = 
getViewParameterValue(PROPERTY_YARN_RM_SCHEDULER_ADDRESS);
+    String zkQuorum = getViewParameterValue(PROPERTY_ZK_QUOROM);
     return hdfsPath!=null && rmAddress!=null && rmSchedulerAddress!=null && 
zkQuorum!=null;
   }
 

Reply via email to