浏览代码

AMBARI-15854. Slider View Controller needs to set a System Property (Gour Saha via smohanty)

Sumit Mohanty 9 年之前
父节点
当前提交
4a46fe4d85

+ 7 - 0
contrib/views/slider/src/main/java/org/apache/ambari/view/slider/SliderAppsViewControllerImpl.java

@@ -53,6 +53,7 @@ import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
 import org.apache.commons.compress.archivers.zip.ZipFile;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.filefilter.RegexFileFilter;
 import org.apache.commons.io.filefilter.RegexFileFilter;
+import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.Path;
@@ -1189,6 +1190,8 @@ public class SliderAppsViewControllerImpl implements SliderAppsViewController {
       final boolean securityEnabled = Boolean.valueOf(getHadoopConfigs().get("security_enabled"));
       final boolean securityEnabled = Boolean.valueOf(getHadoopConfigs().get("security_enabled"));
       final boolean twoWaySSlEnabled = json.has("twoWaySSLEnabled") ? Boolean.valueOf(json.get("twoWaySSLEnabled").getAsString()) : false;
       final boolean twoWaySSlEnabled = json.has("twoWaySSLEnabled") ? Boolean.valueOf(json.get("twoWaySSLEnabled").getAsString()) : false;
       JsonObject configs = json.get("typeConfigs").getAsJsonObject();
       JsonObject configs = json.get("typeConfigs").getAsJsonObject();
+      final String hdpVersion = configs.has("env.HDP_VERSION") ? configs.get(
+          "env.HDP_VERSION").getAsString() : null;
       JsonObject resourcesObj = json.get("resources").getAsJsonObject();
       JsonObject resourcesObj = json.get("resources").getAsJsonObject();
       JsonArray componentsArray = resourcesObj.get("components").getAsJsonArray();
       JsonArray componentsArray = resourcesObj.get("components").getAsJsonArray();
       String appsCreateFolderPath = getAppsCreateFolderPath();
       String appsCreateFolderPath = getAppsCreateFolderPath();
@@ -1268,6 +1271,10 @@ public class SliderAppsViewControllerImpl implements SliderAppsViewController {
               sliderClient.actionInstallKeytab(keytabArgs);
               sliderClient.actionInstallKeytab(keytabArgs);
             }
             }
           }
           }
+          if (StringUtils.isNotEmpty(hdpVersion)) {
+            System.setProperty("HDP_VERSION", hdpVersion);
+            logger.info("Setting system property HDP_VERSION=" + hdpVersion);
+          }
           sliderClient.actionInstallPkg(installArgs);
           sliderClient.actionInstallPkg(installArgs);
           sliderClient.actionCreate(appName, createArgs);
           sliderClient.actionCreate(appName, createArgs);
           ApplicationId applicationId = sliderClient.applicationId;
           ApplicationId applicationId = sliderClient.applicationId;